Re: [PATCH] mm, meminit: Serially initialise deferred memory if trace_buf_size is specified

From: Michal Hocko
Date: Thu Nov 16 2017 - 03:54:44 EST

On Wed 15-11-17 14:17:52, YASUAKI ISHIMATSU wrote:
> Hi Michal and Mel,
> To reproduce the issue, I specified the large trace buffer. The issue also occurs with
> trace_buf_size=12M and movable_node on 4.14.0.

This is still 10x more than the default. Why do you need it in the first
place? You can of course find a size that will not fit into the initial
memory but I am questioning why do you want something like that during
early boot in the first place.

The whole deferred struct page allocation operates under assumption
that there are no large page allocator consumers that early during
the boot process. If this assumption is not correct then we probably
need a generic way to describe this. Add-hoc trace specific thing is
far from idea, imho. If anything the first approach to disable the
deferred initialization via kernel command line option sounds much more
appropriate and simpler to me.
Michal Hocko