lkml.org 
[lkml]   [2012]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    Subject[RFC][PATCH v4 -next 0/4] Make pstore/kmsg_dump run after stopping other cpus in panic path
    Hi,

    Discussion:
    As Don mentioned in following thread, it would be nice for pstore/kmsg_dump to serialize
    panic path because they can log messages reliably.

    https://lkml.org/lkml/2011/10/13/427

    This patchset is based on his proposal switching smp_send_stop() from REBOOT_VECTOR to NMI.

    Change Log:

    v3 -> v4
    - Add comment for explaining the purpose of WARN_ON() based on Don's comment (patch 2/4)
    https://lkml.org/lkml/2011/12/12/296

    - Skip spin_lock of efi_pstore_write() in panic case based on discussion with Tony (patch 4/4)
    https://lkml.org/lkml/2012/1/3/151

    - Apply this patchset to -next tree instead of linus -tree so that "patch 4/4" makes simple

    v2 -> v3
    - Skip spin_locks in panic case in both kmsg_dump() and pstore_dump() instead of calling spin_lock_init()
    to avoid potential issues due to spin_lock_init()
    - Add WARN_ON() in "in_nmi() and !panic" case into kmsg_dump() so that we trap when someone adds
    new kmsg_dump() in NMI path in the future
    - Skip subsequent kmsg_dump() function calls to avoid deadlock.

    v1 -> v2
    - Add trylocks to kmsg_dump()/pstore_dump() so that they can work in NMI context.
    - Divide a patch into two
    First one is just moving kmsg_dump(KMSG_DUMP_PANIC) below smp_send_stop()
    Second one is changing lock operations in kmsg_dump()/pstore_dump()
    v1
    - Move kmsg_dump(KMSG_DUMP_PANIC) below smp_send_stop
    - Bust logbuf_lock of kmsg_dump() in panic path for avoiding deadlock
    - Bust psinfo->buf_lock of pstore_dump() in panic path for avoiding deadlock

    Patch Description:
    [RFC][PATCH v4 -next 1/4] Move kmsg_dump(KMSG_DUMP_PANIC) below smp_send_stop()
    - Just move kmsg_dump(KMSG_DUMP_PANIC) below smp_send_stop()

    [RFC][PATCH v4 -next 2/4] Skip spin_locks in panic case and Add WARN_ON()
    - Skip spin_locks in panic case in both kmsg_dump() and pstore_dump()
    - Add WARN_ON() in "in_nmi() and !panic" case into kmsg_dump()

    [RFC][PATCH v4 -next 3/4] Skip subsequent kmsg_dump()
    - Skip subsequent kmsg_dump() function calls in panic path

    [RFC][PATCH v4 -next 4/4] Skip spin_lock of efi_pstore_write() in panic case
    - Skip spin_lock of efi_pstore_write() in panic case to avoid deadlock

    Seiji


    \
     
     \ /
      Last update: 2012-01-05 18:39    [W:0.045 / U:149.772 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site