Re: [PATCH] resource: Use 2-factor allocator calls

From: Baoquan He
Date: Thu Jul 05 2018 - 21:15:01 EST


Hi Andrew, Kees,

About the implemention of walk_system_ram_res_rev(), it was posted by
AKASHI firstly for his arm kexec_file adding, later he dropped it
because he took other way and doesn't need walk_system_ram_res_rev() any
more in his patchset.

Then I found my below patch needs a walk_system_ram_res_rev(),

kernel/kexec_file.c: load kernel at top of system RAM if required

so I took AKASHI's patch and posted a patchset including above patch,
and AKASHI's patch, it can be seen here:
http://lkml.kernel.org/r/20180322033722.9279-1-bhe@xxxxxxxxxx

Then Andrew reviewed and added comment to say this
walk_system_ram_res_rev() is not good, and suggested me to change the
singly linked list of child resource to standard list_head which is
doubly linked list, then walk_system_ram_res_rev() can be implemented
very easily to do reversed searching. So I posted v2:
http://lkml.kernel.org/r/20180408024724.16812-1-bhe@xxxxxxxxxx

Now the latest post is v6:
http://lkml.kernel.org/r/20180704041038.8190-1-bhe@xxxxxxxxxx


Since changing resource child tree to take doubly linked list list_head
impacts all ARCH and many components, I am still fixing issues test
robot reported since I can only test on x86. Now I plan to ask intel
0day team to tell how I can run scripts locally for all ARCH to find out
all codes impacted and fix them all at one time.

So I think we can drop the old walk_system_ram_res_rev() in v1, I am
still working on this issue. Sorry for the confusion I made because of
my mistakes.

Thanks
Baoquan

On 07/05/18 at 03:07pm, Andrew Morton wrote:
> On Wed, 4 Jul 2018 10:31:53 -0700 Kees Cook <keescook@xxxxxxxxxxxx> wrote:
>
> > As already done treewide, switch from open-coded multiplication to using
> > 2-factor allocation helpers.
> >
>
> This is against resource-add-walk_system_ram_res_rev.patch
> (http://lkml.kernel.org/r/20180322033722.9279-2-bhe@xxxxxxxxxx).
>
> That patch is awaiting (for several months!) a v2. Will this be happening?