lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ