Re: [v6 PATCH 0/2] hung_task: Provide runtime reset interface for hung task detector
From: Lance Yang
Date: Tue Jan 20 2026 - 06:49:04 EST
On 2026/1/20 17:46, Petr Mladek wrote:
On Fri 2026-01-16 10:22:34, Lance Yang wrote:
On 2026/1/16 02:18, Aaron Tomlin wrote:
On Thu, Jan 15, 2026 at 11:24:13AM +0800, Lance Yang wrote:
IIUC, we should just do:
- Patch 1: Full cmpxchg-based counting (Petr's POC), sysctl read-only
- Patch 2: Add write handler for userspace reset
That way Patch 1 is the real logic change, and Patch 2 is just adding
the userspace interface.
Hi Lance,
Thank you for your feedback.
If I am not mistaken, Joel suggested the following structure [1]:
1. Create a preparatory patch to change the data type to atomic_long_t
2. Introduce the required functionality to support a reset to "0"
[1]: https://lore.kernel.org/lkml/d4vx6k7d4tlagesq55yrbma26i2nyt4tpijkme6ckioeyfqfec@txrs27niaj2m/
Yeah, either way works :)
But that way (changing to atomic with the old logic first, then
rewriting to the new logic) seems like it creates more churn
and makes review harder.
I agree that adding the atomic and keeping the old logic is not
good. I would prefer to split it into two patches the following
way:
1. Reshufle the code so that "sysctl_hung_task_detect_count"
gets incremented in check_hung_uninterruptible_tasks()
and hung_task_info() will just get "this_round_count".
Plus convert "sysctl_hung_task_detect_count" to atomic.
It is the change that I suggested at
https://lore.kernel.org/lkml/aWTzhLSWQRIGt8Xu@xxxxxxxxxxxxxxx/
This way, it would be clear why the reshufling was done.
And the atomic operations will get the right acquire/release
semantic right away.
2. Add support to reset the couter to "0".
It should be a quite simple patch easy to review.
+1
Thanks,
Lance
I think that this is how Joel meant it. We could even have 3 patches:
1. Move "sysctl_hung_task_detect_count" increment to
check_hung_uninterruptible_tasks().
2. Convert the counter to atomic operations.
3. Add reset to "0" support.
But I think that two patches might be good enough.
Best Regards,
Petr