[lkml]   [2009]   [Sep]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    SubjectRe: [origin tree build failure] Re: [PULL] Please pull hwpoison code for 2.6.32
    On Sat, Sep 26, 2009 at 09:35:07AM -0700, Linus Torvalds wrote:
    > On Sat, 26 Sep 2009, Andi Kleen wrote:
    > >
    > > Thanks for the report. The issue comes from NODES_SHIFT=4
    > >
    > > I think I tested the NUMA case, but perhaps not with full NODES_SHIFT.
    > >
    > > The easy fix would be to limit NODES_SHIFT to 3 for 32bit (8 nodes max). Do you
    > > have any problems with that? I doubt there are any >8 nodes NUMAQs left.
    > > (last time I heard the last machine at IBM was down to < 4)
    > No, just say "we don't support HWPOISON on 32-bit NUMA".
    > Maybe simply using something like this.

    That's a reasonable solution, but I would prefer to do it the other way round
    (MEMORY_FAILURE disabling NUMA) to minimize user confusion. Also it's not
    enough to just do NUMAQ, but needs all of 32bit NUMA, otherwise the NODES_SHIFT
    could be set too high again.

    Here's a compile tested patch (don't have a NUMAQ) implementing this:


    x86: Don't allow 32bit NUMA together with hwpoison to avoid page flags overflow

    From: Andi Kleen <>

    Otherwise the enlarged sparsemem field in page->flags overflows 32bit,
    which breaks compilation.

    Reported by Ingo Molnar.
    Originally based on a patch from Linus.

    Signed-off-by: Andi Kleen <>

    diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
    index 9369879..384a897 100644
    --- a/arch/x86/Kconfig
    +++ b/arch/x86/Kconfig
    @@ -423,6 +423,7 @@ config X86_32_NON_STANDARD
    config X86_NUMAQ
    bool "NUMAQ (IBM/Sequent)"
    depends on X86_32_NON_STANDARD
    + depends on !MEMORY_FAILURE
    select NUMA
    select X86_MPPARSE
    @@ -1108,6 +1109,7 @@ config NUMA
    bool "Numa Memory Allocation and Scheduler Support"
    depends on SMP
    depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && EXPERIMENTAL)
    + depends on !X86_32 || !MEMORY_FAILURE
    default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP)
    Enable NUMA (Non Uniform Memory Access) support.
    @@ -1125,6 +1127,9 @@ config NUMA

    Otherwise, you should say N.

    +comment "32bit NUMA support requires disabling MEMORY_FAILURE"
    + depends on X86_32 && MEMORY_FAILURE
    comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI"
    depends on X86_32 && X86_SUMMIT && (!HIGHMEM64G || !ACPI)

     \ /
      Last update: 2009-09-26 20:15    [W:0.026 / U:2.384 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site