From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751733AbcCKKhT (ORCPT ); Fri, 11 Mar 2016 05:37:19 -0500 Received: from LGEAMRELO13.lge.com ([156.147.23.53]:59989 "EHLO lgeamrelo13.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751369AbcCKKhO (ORCPT ); Fri, 11 Mar 2016 05:37:14 -0500 X-Original-SENDERIP: 156.147.1.127 X-Original-MAILFROM: byungchul.park@lge.com X-Original-SENDERIP: 10.177.222.33 X-Original-MAILFROM: byungchul.park@lge.com From: Byungchul Park To: akpm@linux-foundation.org, mingo@kernel.org Cc: linux-kernel@vger.kernel.org, akinobu.mita@gmail.com, jack@suse.cz, sergey.senozhatsky.work@gmail.com, peter@hurleysoftware.com, tglx@linutronix.de, peterz@infradead.org, rostedt@goodmis.org Subject: [PATCH v6 0/2] Make printing of spin_dump() deferred to avoid a deadlock Date: Fri, 11 Mar 2016 19:37:05 +0900 Message-Id: <1457692627-14076-1-git-send-email-byungchul.park@lge.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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