changes from v5 to v6
- define the problem clearly and solve it by using irq work.

changes from v4 to v5
- found out a clear scenario which make a system crazy. at least it
  should not be caused by the debug code.

changes from v3 to v4
- reuse a existing code as much as possible for preventing an infinite
  recursive cycle.

changes from v2 to v3
- avoid printk() only in case of lockup suspected, not real lockup in
  which case it does not help at all.
- consider not only console_sem.lock but also logbuf_lock which is used
  by printk().

changes from v1 to v2
- only change comment and commit message esp. replacing "deadlock" with
  "infinite recursive cycle", since it is not an actual deadlock.

Thanks,
Byungchul

Byungchul Park (2):
  printk: Factor out buffering and irq work queuing in printk_deferred
  printk: Make printing of spin_dump() deferred to avoid a deadlock

 include/linux/printk.h          | 11 +++++++++++
 kernel/locking/spinlock_debug.c | 33 ++++++++++++++++++++++++++++++++-
 kernel/printk/printk.c          | 25 ++++++++++++++++++++++---
 3 files changed, 65 insertions(+), 4 deletions(-)

-- 
1.9.1

Reply via email to