2.6.27rc1 cannot boot more than 8CPUs - Kernel

This is a discussion on 2.6.27rc1 cannot boot more than 8CPUs - Kernel ; Li Zefan wrote: > Max Krasnyansky wrote: >> Jeff Chua wrote: >>> On Wed, Aug 6, 2008 at 11:54 AM, Max Krasnyansky >>> wrote: >>> >>>> Are you running 32-bit kernel ? >>> Yes. But, does it matter? >> It ...

+ Reply to Thread
Page 2 of 2 FirstFirst 1 2
Results 21 to 26 of 26

Thread: 2.6.27rc1 cannot boot more than 8CPUs

  1. references:in-reply-to:content-type:

    Li Zefan wrote:
    > Max Krasnyansky wrote:
    >> Jeff Chua wrote:
    >>> On Wed, Aug 6, 2008 at 11:54 AM, Max Krasnyansky
    >>> wrote:
    >>>
    >>>> Are you running 32-bit kernel ?
    >>> Yes. But, does it matter?

    >> It used to. 64-bit kernel used to handle maxcpus option as documented in
    >> the Documentation/cpu-hotplug.txt and 32-bit one was broken.
    >> I just looked at the latest code and realized that both are now broken.
    >> They ignore cpu id > maxcpus instead of not-booting them.
    >>

    >
    > Yes. I have an x86_64 box with 4 cpus, but yesterday when I booted up with maxcpus=2,
    > I didn't see the other 2 cpus.
    >
    >> I'll send a patch that fixes that tomorrow.
    >>

    >
    > greate


    I just sent it and CC'ed both of you guys.
    [PATCH] Resurect proper handling of maxcpus= kernel option

    Jeff, maybe you can try again booting with maxcpus=8 and then bringing
    them online one by one to see where/what fails.

    Max


    --
    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/

  2. Re: 2.6.27rc1 cannot boot more than 8CPUs


    * Yinghai Lu wrote:

    > On Mon, Aug 11, 2008 at 12:59 PM, Ingo Molnar wrote:
    > >
    > > * Jeff Chua wrote:
    > >
    > >> On Wed, Aug 6, 2008 at 2:42 PM, Jeff Chua wrote:
    > >> > On Wed, Aug 6, 2008 at 2:01 PM, Linus Torvalds
    > >> > wrote:
    > >> >> One trivial thing to try would be to just bisect it. I assume 2.6.26 is
    > >> > Bisecting now.
    > >>
    > >> Thanks to all the great helpful suggestions from everyone, and this
    > >> turns out that I just need to enable the following switches, so I
    > >> didn't bisect further, and since it's first machine that I've tried
    > >> with more than 8 CPUs so I wasn't sure whether 2.6.16 has the same
    > >> problem, but if you wish, I could give 2.6.16 a try.
    > >>
    > >> > CONFIG_X86_GENERICARCH=y
    > >> > CONFIG_X86_BIGSMP=y
    > >>
    > >> Thank you all for the great linux kernel!

    > >
    > > i still consider a silent boot hang a bug we need to fix.
    > >
    > > bigsmp might be required to have all cpus available on your box, but the
    > > kernel is still supposed to transparently fall back to less CPUs (and
    > > print a warning) if it cannot do that.
    > >

    > in setup.c::setup_arch() after go over with madt or mptable
    >
    > #if defined(CONFIG_SMP) && defined(CONFIG_X86_PC) && defined(CONFIG_X86_32)
    > if (def_to_bigsmp)
    > printk(KERN_WARNING "More than 8 CPUs detected and "
    > "CONFIG_X86_PC cannot handle it.\nUse "
    > "CONFIG_X86_GENERICARCH or
    > CONFIG_X86_BIGSMP.\n"); ===> here need to change "or" to "and"
    > #endif
    >
    > or just panic here? because screen scroll to pass it, and user will
    > not notice that...


    a panic is better but still quite rude and doesnt give a user a system
    under which he can build an even greater kernel [after having discovered
    the warning in the syslog] ;-)

    best would be to use as many CPUs as we can support, and skip the rest
    and boot up fine. (and print the warning prominently - the user does not
    make maximum use of available physical resources)

    Ingo
    --
    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/

  3. Re: 2.6.27rc1 cannot boot more than 8CPUs

    On Mon, Aug 11, 2008 at 12:59 PM, Ingo Molnar wrote:
    >
    > * Jeff Chua wrote:
    >
    >> On Wed, Aug 6, 2008 at 2:42 PM, Jeff Chua wrote:
    >> > On Wed, Aug 6, 2008 at 2:01 PM, Linus Torvalds
    >> > wrote:
    >> >> One trivial thing to try would be to just bisect it. I assume 2.6.26 is
    >> > Bisecting now.

    >>
    >> Thanks to all the great helpful suggestions from everyone, and this
    >> turns out that I just need to enable the following switches, so I
    >> didn't bisect further, and since it's first machine that I've tried
    >> with more than 8 CPUs so I wasn't sure whether 2.6.16 has the same
    >> problem, but if you wish, I could give 2.6.16 a try.
    >>
    >> > CONFIG_X86_GENERICARCH=y
    >> > CONFIG_X86_BIGSMP=y

    >>
    >> Thank you all for the great linux kernel!

    >
    > i still consider a silent boot hang a bug we need to fix.
    >
    > bigsmp might be required to have all cpus available on your box, but the
    > kernel is still supposed to transparently fall back to less CPUs (and
    > print a warning) if it cannot do that.
    >

    in setup.c::setup_arch() after go over with madt or mptable

    #if defined(CONFIG_SMP) && defined(CONFIG_X86_PC) && defined(CONFIG_X86_32)
    if (def_to_bigsmp)
    printk(KERN_WARNING "More than 8 CPUs detected and "
    "CONFIG_X86_PC cannot handle it.\nUse "
    "CONFIG_X86_GENERICARCH or
    CONFIG_X86_BIGSMP.\n"); ===> here need to change "or" to "and"
    #endif

    or just panic here? because screen scroll to pass it, and user will
    not notice that...

    YH
    --
    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/

  4. Re: 2.6.27rc1 cannot boot more than 8CPUs


    * Jeff Chua wrote:

    > On Wed, Aug 6, 2008 at 2:42 PM, Jeff Chua wrote:
    > > On Wed, Aug 6, 2008 at 2:01 PM, Linus Torvalds
    > > wrote:
    > >> One trivial thing to try would be to just bisect it. I assume 2.6.26 is

    > > Bisecting now.

    >
    > Thanks to all the great helpful suggestions from everyone, and this
    > turns out that I just need to enable the following switches, so I
    > didn't bisect further, and since it's first machine that I've tried
    > with more than 8 CPUs so I wasn't sure whether 2.6.16 has the same
    > problem, but if you wish, I could give 2.6.16 a try.
    >
    > > CONFIG_X86_GENERICARCH=y
    > > CONFIG_X86_BIGSMP=y

    >
    > Thank you all for the great linux kernel!


    i still consider a silent boot hang a bug we need to fix.

    bigsmp might be required to have all cpus available on your box, but the
    kernel is still supposed to transparently fall back to less CPUs (and
    print a warning) if it cannot do that.

    Ingo
    --
    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/

  5. Re: 2.6.27rc1 cannot boot more than 8CPUs

    On Mon, Aug 11, 2008 at 1:08 PM, Ingo Molnar wrote:
    >
    > * Yinghai Lu wrote:
    >
    >> On Mon, Aug 11, 2008 at 12:59 PM, Ingo Molnar wrote:
    >> >
    >> > * Jeff Chua wrote:
    >> >
    >> >> On Wed, Aug 6, 2008 at 2:42 PM, Jeff Chua wrote:
    >> >> > On Wed, Aug 6, 2008 at 2:01 PM, Linus Torvalds
    >> >> > wrote:
    >> >> >> One trivial thing to try would be to just bisect it. I assume 2.6.26 is
    >> >> > Bisecting now.
    >> >>
    >> >> Thanks to all the great helpful suggestions from everyone, and this
    >> >> turns out that I just need to enable the following switches, so I
    >> >> didn't bisect further, and since it's first machine that I've tried
    >> >> with more than 8 CPUs so I wasn't sure whether 2.6.16 has the same
    >> >> problem, but if you wish, I could give 2.6.16 a try.
    >> >>
    >> >> > CONFIG_X86_GENERICARCH=y
    >> >> > CONFIG_X86_BIGSMP=y
    >> >>
    >> >> Thank you all for the great linux kernel!
    >> >
    >> > i still consider a silent boot hang a bug we need to fix.
    >> >
    >> > bigsmp might be required to have all cpus available on your box, but the
    >> > kernel is still supposed to transparently fall back to less CPUs (and
    >> > print a warning) if it cannot do that.
    >> >

    >> in setup.c::setup_arch() after go over with madt or mptable
    >>
    >> #if defined(CONFIG_SMP) && defined(CONFIG_X86_PC) && defined(CONFIG_X86_32)
    >> if (def_to_bigsmp)
    >> printk(KERN_WARNING "More than 8 CPUs detected and "
    >> "CONFIG_X86_PC cannot handle it.\nUse "
    >> "CONFIG_X86_GENERICARCH or
    >> CONFIG_X86_BIGSMP.\n"); ===> here need to change "or" to "and"
    >> #endif
    >>
    >> or just panic here? because screen scroll to pass it, and user will
    >> not notice that...

    >
    > a panic is better but still quite rude and doesnt give a user a system
    > under which he can build an even greater kernel [after having discovered
    > the warning in the syslog] ;-)
    >
    > best would be to use as many CPUs as we can support, and skip the rest
    > and boot up fine. (and print the warning prominently - the user does not
    > make maximum use of available physical resources)


    then smp start AP cpu could check the apic id >=8 etc before try to
    start it.in some cases

    YH
    --
    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/

  6. Re: 2.6.27rc1 cannot boot more than 8CPUs


    * Yinghai Lu wrote:

    > [PATCH] x86: move def_to_bigsmp check later
    >
    > and skip the apicid id > 8


    applied to tip/x86/urgent - thanks Yinghai. While we are touching this
    code i cleaned up the printk a bit: the line breaking was way too ugly,
    and the message not very informative about the effects of this problem.
    See the full commit below.

    Ingo

    --------------->
    From b74548e76a0eab1f29546e7c5a589429c069a680 Mon Sep 17 00:00:00 2001
    From: Yinghai Lu
    Date: Mon, 11 Aug 2008 13:36:04 -0700
    Subject: [PATCH] x86: fix 2.6.27rc1 cannot boot more than 8CPUs

    Jeff Chua reported that booting a !bigsmp kernel on a 16-way box
    hangs silently.

    this is a long-standing issue, smp start AP cpu could check the
    apic id >=8 etc before trying to start it.

    achieve this by moving the def_to_bigsmp check later and skip the
    apicid id > 8

    [ mingo@elte.hu: clean up the message that is printed. ]

    Reported-by: "Jeff Chua"
    Signed-off-by: Yinghai Lu
    Signed-off-by: Ingo Molnar

    arch/x86/kernel/setup.c | 6 ------
    arch/x86/kernel/smpboot.c | 10 ++++++++++
    2 files changed, 10 insertions(+), 6 deletions(-)
    ---
    arch/x86/kernel/setup.c | 6 ------
    arch/x86/kernel/smpboot.c | 10 ++++++++++
    2 files changed, 10 insertions(+), 6 deletions(-)

    diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
    index 6e5823b..68b48e3 100644
    --- a/arch/x86/kernel/setup.c
    +++ b/arch/x86/kernel/setup.c
    @@ -861,12 +861,6 @@ void __init setup_arch(char **cmdline_p)
    init_apic_mappings();
    ioapic_init_mappings();

    -#if defined(CONFIG_SMP) && defined(CONFIG_X86_PC) && defined(CONFIG_X86_32)
    - if (def_to_bigsmp)
    - printk(KERN_WARNING "More than 8 CPUs detected and "
    - "CONFIG_X86_PC cannot handle it.\nUse "
    - "CONFIG_X86_GENERICARCH or CONFIG_X86_BIGSMP.\n");
    -#endif
    kvm_guest_init();

    e820_reserve_resources();
    diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
    index da10f07..91055d7 100644
    --- a/arch/x86/kernel/smpboot.c
    +++ b/arch/x86/kernel/smpboot.c
    @@ -994,7 +994,17 @@ int __cpuinit native_cpu_up(unsigned int cpu)
    flush_tlb_all();
    low_mappings = 1;

    +#ifdef CONFIG_X86_PC
    + if (def_to_bigsmp && apicid > 8) {
    + printk(KERN_WARNING
    + "More than 8 CPUs detected - skipping them.\n"
    + "Use CONFIG_X86_GENERICARCH and CONFIG_X86_BIGSMP.\n");
    + err = -1;
    + } else
    + err = do_boot_cpu(apicid, cpu);
    +#else
    err = do_boot_cpu(apicid, cpu);
    +#endif

    zap_low_mappings();
    low_mappings = 0;
    --
    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/

+ Reply to Thread
Page 2 of 2 FirstFirst 1 2