From: Aaron Tomlin <atomlin@atomlin.com>
To: akpm@linux-foundation.org, lance.yang@linux.dev,
mhiramat@kernel.org, gregkh@linuxfoundation.org,
pmladek@suse.com, joel.granados@kernel.org
Cc: sean@ashe.io, linux-kernel@vger.kernel.org
Subject: [v6 PATCH 0/2] hung_task: Provide runtime reset interface for hung task detector
Date: Wed, 14 Jan 2026 21:32:27 -0500 [thread overview]
Message-ID: <20260115023229.3028462-1-atomlin@atomlin.com> (raw)
Hi Lance, Greg, Petr, Joel, Andrew,
This series introduces the ability to reset
/proc/sys/kernel/hung_task_detect_count.
Writing a "0" value to this file atomically resets the counter of detected
hung tasks. This functionality provides system administrators with the
means to clear the cumulative diagnostic history following incident
resolution, thereby simplifying subsequent monitoring without necessitating
a system restart.
The updated logic ensures that the long-running scan (which is inherently
preemptible and subject to rcu_lock_break()) does not become desynchronised
from the global state. By treating the initial read as a "version snapshot"
the kernel can guarantee that the cumulative count only updates if the
underlying state remained stable throughout the duration of the
scan.
Please let me know your thoughts.
Changes since v5 [1]:
- Introduced a preparatory patch (Joel Granados)
- Extended custom proc_handler to handle SYSCTL_USER_TO_KERN writes,
strictly validating that only a value of "0" is permitted for resets
(Joel Granados)
- Transitioned from atomic_long_inc_return_relaxed() to a more robust
read_acquire/cmpxchg_release pattern to ensure "All-or-Nothing" scan
updates (Petr Mladek)
- Re-introduce hung_task_diagnostics(). For better readability and
consistent metadata publication
Changes since v4 [2]:
- Added missing underflow check (Lance Yang)
Changes since v3 [3]:
- Use atomic operations to ensure cross-CPU visibility and prevent an integer underflow
- Use acquire/release semantics for memory ordering (Petr Mladek)
- Move quoted string to a single line (Petr Mladek)
- Remove variables coredump_msg and disable_msg to simplify code (Petr Mladek)
- Add trailing "\n" to all strings to ensure immediate console flushing (Petr Mladek)
- Improve the hung task counter documentation (Joel Granados)
- Reject non-zero writes with -EINVAL (Joel Granados)
- Translate to the new sysctl API (Petr Mladek)
Changes since v2 [4]:
- Avoided a needless double update to hung_task_detect_count (Lance Yang)
- Restored previous use of pr_err() for each message (Greg KH)
- Provided a complete descriptive comment for the helper
Changes since v1 [5]:
- Removed write-only sysfs attribute (Lance Yang)
- Modified procfs hung_task_detect_count instead (Lance Yang)
- Introduced a custom proc_handler
- Updated documentation (Lance Yang)
- Added 'static inline' as a hint to eliminate any function call overhead
- Removed clutter through encapsulation
[1]: https://lore.kernel.org/lkml/20251231004125.2380105-1-atomlin@atomlin.com/
[2]: https://lore.kernel.org/lkml/20251222014210.2032214-1-atomlin@atomlin.com/
[3]: https://lore.kernel.org/all/20251216030036.1822217-1-atomlin@atomlin.com/
[4]: https://lore.kernel.org/lkml/20251211033004.1628875-1-atomlin@atomlin.com/
[5]: https://lore.kernel.org/lkml/20251209041218.1583600-1-atomlin@atomlin.com/
Aaron Tomlin (2):
hung_task: Convert detection count to atomic_long_t
hung_task: Enable runtime reset of hung_task_detect_count
Documentation/admin-guide/sysctl/kernel.rst | 3 +-
kernel/hung_task.c | 130 +++++++++++++++-----
2 files changed, 99 insertions(+), 34 deletions(-)
--
2.51.0
next reply other threads:[~2026-01-15 2:32 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-15 2:32 Aaron Tomlin [this message]
2026-01-15 2:32 ` [v6 PATCH 1/2] hung_task: Convert detection count to atomic_long_t Aaron Tomlin
2026-01-15 2:32 ` [v6 PATCH 2/2] hung_task: Enable runtime reset of hung_task_detect_count Aaron Tomlin
2026-01-15 3:06 ` Lance Yang
2026-01-15 18:24 ` Aaron Tomlin
2026-01-16 2:10 ` Lance Yang
2026-01-15 3:24 ` [v6 PATCH 0/2] hung_task: Provide runtime reset interface for hung task detector Lance Yang
2026-01-15 18:18 ` Aaron Tomlin
2026-01-16 2:22 ` Lance Yang
2026-01-20 9:46 ` Petr Mladek
2026-01-20 11:48 ` Lance Yang
2026-01-23 0:59 ` Aaron Tomlin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260115023229.3028462-1-atomlin@atomlin.com \
--to=atomlin@atomlin.com \
--cc=akpm@linux-foundation.org \
--cc=gregkh@linuxfoundation.org \
--cc=joel.granados@kernel.org \
--cc=lance.yang@linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=mhiramat@kernel.org \
--cc=pmladek@suse.com \
--cc=sean@ashe.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox