lkml.org 
[lkml]   [2009]   [Feb]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch/s390 15/46] lockdep: trace hardirq off in smp_send_stop
    From: Christian Borntraeger <borntraeger@de.ibm.com>

    With lockdep we got the following trace after a panic:

    Badness at /home/autobuild/BUILD/linux-2.6.28-20090204/kernel/lockdep.c:2878
    [...]
    Call Trace:
    [<0000000000176334>] lock_acquire+0x54/0xbc
    [<000000000050b4fe>] __atomic_notifier_call_chain+0x6e/0xdc
    [<000000000050b59c>] atomic_notifier_call_chain+0x30/0x44
    [<0000000000504274>] panic+0xd0/0x1e8
    [...]
    INFO: lockdep is turned off.
    Last Breaking-Event-Address:
    [<0000000000170e62>] check_flags+0xae/0x15c
    possible reason: unannotated irqs-off.

    lockdep is right. We missed a trace_hardirq_off in our smp_send_stop
    function and smp_send_stop is called before the panic call chain.

    Reported-by: Mijo <Safradin mijo@linux.vnet.ibm.com>
    Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    ---

    arch/s390/kernel/smp.c | 2 ++
    1 file changed, 2 insertions(+)

    Index: quilt-2.6/arch/s390/kernel/smp.c
    ===================================================================
    --- quilt-2.6.orig/arch/s390/kernel/smp.c
    +++ quilt-2.6/arch/s390/kernel/smp.c
    @@ -32,6 +32,7 @@
    #include <linux/delay.h>
    #include <linux/cache.h>
    #include <linux/interrupt.h>
    +#include <linux/irqflags.h>
    #include <linux/cpu.h>
    #include <linux/timex.h>
    #include <linux/bootmem.h>
    @@ -75,6 +76,7 @@ void smp_send_stop(void)

    /* Disable all interrupts/machine checks */
    __load_psw_mask(psw_kernel_bits & ~PSW_MASK_MCHECK);
    + trace_hardirqs_off();

    /* stop all processors */
    for_each_online_cpu(cpu) {
    --
    blue skies,
    Martin.

    "Reality continues to ruin my life." - Calvin.



    \
     
     \ /
      Last update: 2009-02-25 16:31    [W:0.023 / U:29.304 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site