Re: "mm: use early_pfn_to_nid in page_ext_init" broken on some configurations?

From: Michal Hocko
Date: Tue Jul 04 2017 - 06:53:51 EST

On Tue 04-07-17 11:39:57, Vlastimil Babka wrote:
> On 07/04/2017 07:23 AM, Joonsoo Kim wrote:
> > On Mon, Jul 03, 2017 at 04:18:01PM +0200, Vlastimil Babka wrote:
> >> allocated" looks much more sane there. But there's a warning nevertheless.
> >
> > Warning would comes from the fact that drain_all_pages() is called
> > before mm_percpu_wq is initialised. We could remove WARN_ON_ONCE() and add
> > drain_local_page(zone) to fix the problem.
> Wouldn't that still leave some period during boot where kernel already
> runs on multiple CPU's, but mm_percpu_wq is not yet initialized and
> somebody tries to use it? We want to catch such cases, right?

I haven't checked the boot sequence but if we know that we need
mm_percpu_wq initialized earlier than moving it should be not a big deal
I guess.
Michal Hocko