On Mon, 2022-04-25 at 15:58 -0700, Minchan Kim wrote: > On Wed, Apr 20, 2022 at 10:59:00AM +0100, Mel Gorman wrote: > > This series has the same intent as Nicolas' series "mm/page_alloc: Remote > > per-cpu lists drain support" -- avoid interference of a high priority > > task due to a workqueue item draining per-cpu page lists. While many > > workloads can tolerate a brief interruption, it may be cause a real-time > > task runnning on a NOHZ_FULL CPU to miss a deadline and at minimum, > > the draining in non-deterministic. > > Yeah, the non-deterministic is a problem. I saw the kworker-based draining > takes 100+ms(up to 300ms observed) sometimes in alloc_contig_range if CPUs > are heavily loaded. > > I am not sure Nicolas already observed. it's not only problem of > per_cpu_pages but it is also lru_pvecs (pagevec) draining. > Do we need to introduce similar(allow remote drainning with spin_lock) > solution for pagevec? Yes, I'm aware of the lru problem. I'll start working on it too once we're done with the page allocator (and if no-one beats me to it). That said, I don't know if we can apply the exact same approach, the devil is in the details. :) -- Nicolás Sáenz