Re: [PATCH][v4] hung_task: Panic when there are more than N hung tasks at the same time
From: Lance Yang <lance.yang@linux.dev>
Date: 2025-10-16 05:07:46
Also in:
linux-arm-kernel, linux-aspeed, linux-doc, linux-kselftest, lkml
LGTM. It works as expected, thanks! On 2025/10/15 14:36, lirongqing wrote:
From: Li RongQing <redacted>
For the commit message, I'd suggest the following for better clarity:
The hung_task_panic sysctl is currently a blunt instrument: it's all
or nothing.
Panicking on a single hung task can be an overreaction to a transient
glitch. A more reliable indicator of a systemic problem is when multiple
tasks hang simultaneously.
Extend hung_task_panic to accept an integer threshold, allowing the kernel
to panic only when N hung tasks are detected in a single scan. This
provides finer control to distinguish between isolated incidents and
system-wide failures.
The accepted values are:
- 0: Don't panic (unchanged)
- 1: Panic on the first hung task (unchanged)
- N > 1: Panic after N hung tasks are detected in a single scan
The original behavior is preserved for values 0 and 1, maintaining full
backward compatibility.
If you agree, likely no need to resend - Andrew could pick it up directly when applying :)
Currently, when 'hung_task_panic' is enabled, the kernel panics immediately upon detecting the first hung task. However, some hung tasks are transient and allow system recovery, while persistent hangs should trigger a panic when accumulating beyond a threshold. Extend the 'hung_task_panic' sysctl to accept a threshold value specifying the number of hung tasks that must be detected before triggering a kernel panic. This provides finer control for environments where transient hangs may occur but persistent hangs should be fatal. The sysctl now accepts: - 0: don't panic (maintains original behavior) - 1: panic on first hung task (maintains original behavior) - N > 1: panic after N hung tasks are detected in a single scan This maintains backward compatibility while providing flexibility for different hang scenarios. Signed-off-by: Li RongQing <redacted> Cc: Andrew Jeffery <andrew@codeconstruct.com.au> Cc: Anshuman Khandual <redacted> Cc: Arnd Bergmann <arnd@arndb.de> Cc: David Hildenbrand <redacted> Cc: Florian Wesphal <fw@strlen.de> Cc: Jakub Kacinski <kuba@kernel.org> Cc: Jason A. Donenfeld <jason@zx2c4.com> Cc: Joel Granados <joel.granados@kernel.org> Cc: Joel Stanley <joel@jms.id.au> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Kees Cook <kees@kernel.org> Cc: Lance Yang <lance.yang@linux.dev> Cc: Liam Howlett <redacted> Cc: Lorenzo Stoakes <redacted> Cc: "Masami Hiramatsu (Google)" <mhiramat@kernel.org> Cc: "Paul E . McKenney" <paulmck@kernel.org> Cc: Pawan Gupta <pawan.kumar.gupta@linux.intel.com> Cc: Petr Mladek <pmladek@suse.com> Cc: Phil Auld <redacted> Cc: Randy Dunlap <redacted> Cc: Russell King <linux@armlinux.org.uk> Cc: Shuah Khan <shuah@kernel.org> Cc: Simon Horman <horms@kernel.org> Cc: Stanislav Fomichev <sdf@fomichev.me> Cc: Steven Rostedt <rostedt@goodmis.org> ---
So: Reviewed-by: Lance Yang <lance.yang@linux.dev> Tested-by: Lance Yang <lance.yang@linux.dev> Cheers, Lance