[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20071203095736.7963553e.akpm@linux-foundation.org>
Date: Mon, 3 Dec 2007 09:57:36 -0800
From: Andrew Morton <akpm@...ux-foundation.org>
To: Ingo Molnar <mingo@...e.hu>
Cc: andi@...stfloor.org, penberg@...helsinki.fi,
lkml@...ralstorm.puszkin.org, arjan@...radead.org,
linux-kernel@...r.kernel.org, tglx@...utronix.de
Subject: Re: [feature] automatically detect hung TASK_UNINTERRUPTIBLE tasks
On Mon, 3 Dec 2007 15:19:25 +0100
Ingo Molnar <mingo@...e.hu> wrote:
> this patch extends the soft-lockup detector to automatically
> detect hung TASK_UNINTERRUPTIBLE tasks. Such hung tasks are
> printed the following way:
>
> ------------------>
> INFO: task prctl:3042 blocked for more than 120 seconds.
> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message
> prctl D fd5e3793 0 3042 2997
> f6050f38 00000046 00000001 fd5e3793 00000009 c06d8264 c06dae80 00000286
> f6050f40 f6050f00 f7d34d90 f7d34fc8 c1e1be80 00000001 f6050000 00000000
> f7e92d00 00000286 f6050f18 c0489d1a f6050f40 00006605 00000000 c0133a5b
> Call Trace:
> [<c04883a5>] schedule_timeout+0x6d/0x8b
> [<c04883d8>] schedule_timeout_uninterruptible+0x15/0x17
> [<c0133a76>] msleep+0x10/0x16
> [<c0138974>] sys_prctl+0x30/0x1e2
> [<c0104c52>] sysenter_past_esp+0x5f/0xa5
> =======================
> 2 locks held by prctl/3042:
> #0: (&sb->s_type->i_mutex_key#5){--..}, at: [<c0197d11>] do_fsync+0x38/0x7a
> #1: (jbd_handle){--..}, at: [<c01ca3d2>] journal_start+0xc7/0xe9
> <------------------
>
> the current default timeout is 120 seconds. Such messages are printed
> up to 10 times per bootup. If the system has crashed already then the
> messages are not printed.
>
> if lockdep is enabled then all held locks are printed as well.
>
> this feature is a natural extension to the softlockup-detector (kernel
> locked up without scheduling) and to the NMI watchdog (kernel locked up
> with IRQs disabled).
This feature will save one full reporter-developer round-trip during
investigation of a significant number of bug reports.
It might be more practical if it were to dump the traces for _all_
D-state processes when it fires - basically an auto-triggered sysrq-W.
--
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