[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAOAebxsg=fM1B0sxKFenwShWTK1D2Xkcaw3qGD9dy6Lzw_iMLA@mail.gmail.com>
Date: Wed, 29 Nov 2017 22:49:45 -0500
From: Pavel Tatashin <pasha.tatashin@...cle.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Mel Gorman <mgorman@...hsingularity.net>,
Michal Hocko <mhocko@...nel.org>,
YASUAKI ISHIMATSU <yasu.isimatu@...il.com>,
Linux Memory Management List <linux-mm@...ck.org>,
linux-kernel@...r.kernel.org, koki.sanagi@...fujitsu.com,
Steve Sistare <steven.sistare@...cle.com>
Subject: Re: [PATCH] mm, meminit: Serially initialise deferred memory if
trace_buf_size is specified
>> Hi Mel,
>>
>> The forth approach is the best as it is seamless for admins and
>> engineers, it will also work on any system configuration with any
>> parameters without any special involvement.
>
> Apart from what-mel-said, I'd be concerned that this failsafe would
> almost never get tested. We should find some way to ensure that this
> code gets exercised in some people's kernels on a permanent basis and
> I'm not sure how to do that.
>
> One option might be to ask Fengguang to add the occasional
> test_pavels_stuff=1 to the kernel boot commandline. That's better
> than nothing but 0-day only runs on a small number of machine types.
>
Hi Andrew,
Excellent point about testing. I think, that if I implement it the way
I proposed in the previous e-mail:
1. initialize very few struct pages initially
2. initialize more as kernel needs them in every node
3. finally initialize all the rest when other cpus are started
We will have coverage for my code every time machine boots (and
deferred page init feature configured), as the the initial very few
struct pages is not going to be enough on any machine. Potentially, we
will also see some small boot time improvement because we will
initialize serially only as many pages as needed, and not do upper
bound guessing about how many pages is needed beforehand.
Thank you,
Pavel
Powered by blists - more mailing lists