lkml.org 
[lkml]   [2006]   [May]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: assert/crash in __rmqueue() when enabling CONFIG_NUMA
     >>>>Bollocks. It works fine,
    >>>
    >>>On what kind of box? Some summit system, right?
    >>
    >>Summit and NUMA-Q, ie everything we originally created it for.
    >
    > Andi:
    >
    > That's my point - it usually crashes everywhere else.

    Ingo Molnar wrote:
    >
    > i only booted it on a non-NUMA PC. Most likely the instability is
    > caused by some sort of zone mis-sizing. (See more details in this
    > same thread.)

    Ooooh, on ordinary PCs. that makes more sense.

    > The problem is that it's not regression tested and quite complex and
    > tends to break often and stay broken.

    OK, well the regression testing issue is easily fixed, but whether it's
    worth it or not is a different issue. It was originally done for the
    distros really, so they could have a single kernel that supported
    everything.

    > If you don't want to mark it CONFIG_BROKEN then i would suggest a panic
    > early when the system isn't SUMMIT (I think NUMAQ does this already)
    >
    > Something like the appended patch

    apw: this was your baby ... what do you want to do with it? Add it
    to the automated regression testing, or kill it?

    > -Andi
    >
    > i386: Panic the system early when a NUMA kernel doesn't run on IBM NUMA
    >
    > It has been broken forever anywhere else and is not too useful
    > anyways so best to disable it.
    >
    > Signed-off-by: Andi Kleen <ak@suse.de>
    >
    > Index: linux/arch/i386/kernel/srat.c
    > ===================================================================
    > --- linux.orig/arch/i386/kernel/srat.c
    > +++ linux/arch/i386/kernel/srat.c
    > @@ -327,6 +327,14 @@ int __init get_memcfg_from_srat(void)
    > int tables = 0;
    > int i = 0;
    >
    > + extern int use_cyclone;
    > + if (use_cyclone == 0) {
    > + /* Make sure user sees something */
    > + static const char s[] __initdata = "Not an IBM x440/NUMAQ. Don't use i386 CONFIG_NUMA anywhere else."
    > + early_printk(s);
    > + panic(s);
    > + }
    > +
    > if (ACPI_FAILURE(acpi_find_root_pointer(ACPI_PHYSICAL_ADDRESSING,
    > rsdp_address))) {
    > printk("%s: System description tables not found\n",
    > Index: linux/arch/i386/Kconfig
    > ===================================================================
    > --- linux.orig/arch/i386/Kconfig
    > +++ linux/arch/i386/Kconfig
    > @@ -517,6 +517,9 @@ config NUMA
    > depends on SMP && HIGHMEM64G && (X86_NUMAQ || X86_GENERICARCH || (X86_SUMMIT && ACPI))
    > default n if X86_PC
    > default y if (X86_NUMAQ || X86_SUMMIT)
    > + help
    > + NUMA support. Note this only works on IBM x440 or IBM NUMAQ.
    > + Don't try to use it anywhere else.
    >
    > comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI"
    > depends on X86_SUMMIT && (!HIGHMEM64G || !ACPI)
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-05-02 18:05    [W:6.249 / U:0.132 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site