Re: [PATCH] [5/8] Fix logic error in 64bit memory hotadd

Ingo Molnar
2008-02-11T13:33:56Z

* Andi Kleen <ak@suse.de> wrote:

> > Also, your fix, while it solves a real bug we want to fix, is not quite
> > right for upstream integration yet. I can see 3 immediate problems with
> > it:
> >
> > > + if (!pud_present(*pud)) {
> > > + pud = (pud_t *)get_zeroed_page(GFP_ATOMIC);
> >
> > the GFP_ATOMIC here can fail.
>
> The memory hotplug code already uses GFP_ATOMIC elsewhere
> (spp_getpage)

wrong. The _x86_ memory hotplug code uses GFP_ATOMIC elsewhere.
The generic memory hotplug code does not.

and the x86 memory hotplug code uses GFP_ATOMIC and panic() elsewhere
because:

> The existing code already panics elsewhere (spp_getpage); i just
> copied that.

and you had nothing to do with that "existing code"? git-log reveals
that the GFP_ATOMIC and panic()-ing patch was added 2 years ago and was
signed off by you:

commit 44df75e629106efcada087cead6c3f33ed6bcc60
Author: Matt Tolentino <metolent@cs.vt.edu>
Date: Tue Jan 17 07:03:41 2006 +0100

[PATCH] x86_64: add x86-64 support for memory hot-add

[...]
Signed-off-by: Andi Kleen <ak@suse.de>

We (like most upstream kernel subsystems) generally do not accept
patches into arch/x86 that spreads a buggy implementation detail
further. Please submit a patch that cleans up the mess. Thanks,

Ingo