[<prev] [next>] [day] [month] [year] [list]
Message-ID: <5C4C569E8A4B9B42A84A977CF070A35B2C57DC0D0E@USINDEVS01.corp.hds.com>
Date: Fri, 2 Dec 2011 17:08:32 -0500
From: Seiji Aguchi <seiji.aguchi@....com>
To: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Luck, Tony" <tony.luck@...el.com>,
Don Zickus <dzickus@...hat.com>,
Matthew Garrett <mjg@...hat.com>,
Vivek Goyal <vgoyal@...hat.com>,
"Chen, Gong" <gong.chen@...el.com>,
"akpm@...ux-foundation.org" <akpm@...ux-foundation.org>,
"len.brown@...el.com" <len.brown@...el.com>,
"'ying.huang@...el.com'" <'ying.huang@...el.com'>,
"'ak@...ux.intel.com'" <'ak@...ux.intel.com'>,
"'hughd@...omium.org'" <'hughd@...omium.org'>,
"'mingo@...e.hu'" <'mingo@...e.hu'>,
"jmorris@...ei.org" <jmorris@...ei.org>,
"a.p.zijlstra@...llo.nl" <a.p.zijlstra@...llo.nl>,
"namhyung@...il.com" <namhyung@...il.com>
CC: "dle-develop@...ts.sourceforge.net"
<dle-develop@...ts.sourceforge.net>,
Satoru Moriya <satoru.moriya@....com>
Subject: [RFC][PATCH v3 0/3] 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:
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 v3 1/3] Move kmsg_dump(KMSG_DUMP_PANIC) below smp_send_stop()
- Just move kmsg_dump(KMSG_DUMP_PANIC) below smp_send_stop()
[RFC][PATCH v3 2/3] 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 v3 3/3] Skip subsequent kmsg_dump()
- Skip subsequent kmsg_dump() function calls
TODO:
This patchset focuses on only kmsg_dump()/pstore_dump().
So, we have to check whether backend drivers work.
Any comments are welcome.
Seiji Aguchi (3):
Move kmsg_dump(KMSG_DUMP_PANIC) below smp_send_stop()
Skip spin_locks in panic case and add WARN_ON()
Skip subsequent kmsg_dump()
fs/pstore/platform.c | 16 ++++++----------
kernel/panic.c | 4 ++--
kernel/printk.c | 23 +++++++++++++++++++++--
3 files changed, 29 insertions(+), 14 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists