lkml.org 
[lkml]   [2007]   [Jun]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 02/54] Ignore bogus ACPI info for offline CPUs
    -stable review patch.  If anyone has any objections, please let us know.
    ---------------------

    From: Thomas Gleixner <tglx@linutronix.de>

    Booting a SMP kernel with maxcpus=1 on a SMP system leads to a hard
    hang, because ACPI ignores the maxcpus setting and sends timer broadcast
    info for the offline CPUs. This results in a stuck for ever call to
    smp_call_function_single() on an offline CPU.

    Ignore the bogus information and print a kernel error to remind ACPI
    folks to fix it.

    Affects 2.6.21 / 2.6.22-rc

    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Chris Wright <chrisw@sous-sol.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    kernel/time/tick-broadcast.c | 17 ++++++++++++-----
    1 file changed, 12 insertions(+), 5 deletions(-)

    --- linux-2.6.21.4.orig/kernel/time/tick-broadcast.c
    +++ linux-2.6.21.4/kernel/time/tick-broadcast.c
    @@ -243,11 +243,18 @@ void tick_broadcast_on_off(unsigned long
    {
    int cpu = get_cpu();

    - if (cpu == *oncpu)
    - tick_do_broadcast_on_off(&reason);
    - else
    - smp_call_function_single(*oncpu, tick_do_broadcast_on_off,
    - &reason, 1, 1);
    + if (!cpu_isset(*oncpu, cpu_online_map)) {
    + printk(KERN_ERR "tick-braodcast: ignoring broadcast for "
    + "offline CPU #%d\n", *oncpu);
    + } else {
    +
    + if (cpu == *oncpu)
    + tick_do_broadcast_on_off(&reason);
    + else
    + smp_call_function_single(*oncpu,
    + tick_do_broadcast_on_off,
    + &reason, 1, 1);
    + }
    put_cpu();
    }

    --
    -
    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: 2007-06-08 10:03    [W:0.021 / U:62.292 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site