Re: [RFC PATCH] mm: move pcp and lru-pcp drainging into vmstat_wq

From: Michal Hocko
Date: Wed Feb 08 2017 - 08:14:49 EST


On Wed 08-02-17 21:44:36, Tetsuo Handa wrote:
> Mel Gorman wrote:
> > > > It also feels like vmstat is now a misleading name for something that
> > > > handles vmstat, lru drains and per-cpu drains but that's cosmetic.
> > >
> > > yeah a better name sounds like a good thing. mm_nonblock_wq?
> > >
> >
> > it's not always non-blocking. Maybe mm_percpu_wq to describev a workqueue
> > that handles a variety of MM-related per-cpu updates?
> >
>
> Why not make it global like ones created by workqueue_init_early() ?

I can see alloc_workqueue_attrs in that path so we can hit the page
allocator and if unlucky try to drain_all_pages. We might have more
even before this. So I think we still need a check for the WQ being
initialized already. I do not have a strong preference to when to
allocate it. Moving the initialization out to workqueue_init_early wold
mean that the WQ would have to be visible outside of the mm proper which
is not ideal. We can live with that, though, so I will move it there if
this is a prevalent opinion.
--
Michal Hocko
SUSE Labs