Re: [PATCH 1/1] watchdog: avoid extra sys_info dumps for all_bt

From: Feng Tang

Date: Mon Jun 22 2026 - 03:38:05 EST


On Mon, Jun 22, 2026 at 07:30:18AM +0100, Bradley Morgan wrote:
> On June 22, 2026 4:23:00 AM GMT+01:00, Feng Tang
> <feng.tang@xxxxxxxxxxxxxxxxx> wrote:
> >Hi,
> >
> >On Sat, Jun 20, 2026 at 10:01:40PM +0000, Bradley Morgan wrote:
> >> The watchdog handles SYS_INFO_ALL_BT itself. When that is the only
> >> watchdog specific bit, sys_info(0) falls back to kernel_sys_info.
> >>
> >> Skip sys_info() for that case.
> >
> >Thanks for the patch!
> >
> >I would explain some about he intention of the global 'kernel_sys_info'
> >which was suggested by Andrew. One use case is, for kernel stability
> >issues, it could be panic, soft/hard lockup, task-hung etc, and we now
> >have different conrol knobs for them each, but with similar 'xxx_sys_info'
> >capability, and they actually need similar system info like all-cpu
> >dump, blocked processes dump, debug ftrace dump, using one central
> >'kernel_sys_info' could be very handy by avoiding setting many knobs.
> >And for debugging random issues, you can just add sys_info(0)
> >everywhere, and controll it by the existing 'kernel_si_mask'
> >
> >btw, did you meet some issues with current code? If yes, could you
> >agive some more details ? IIUC, when 'kernel_si_mask' is not set
> >specifically, sys_info(0) is a nop.
> >
> >Thanks,
> >Feng
>
> Feng!
>
> I see what you are saying, but there is a "double ended sword"! :)
>
> Unfortunately. The issue is where the watchdog specific mask is
> explicitly set to ONLY all_bt for instance.
>
> The watchdog only handles SYS_INFO_ALL_BT.
>
>
>
> so the later call becomes sys_info(0).
>
> At that point sys_info() cannot tell that the caller had a nonzero
> watchdog mask, and it falls back to kernel_sys_info.
>
>
> Here is a example where this would be reached:
>
> kernel.kernel_sys_info=tasks,mem kernel.hardlockup_sys_info=all_bt
>
> a hard lockup still dumps tasks and memory through the global default.

Thanks for providing the case. I cannot say this is not a valid case :),
so I'm not against your patch, and would listen to other developers'
opinions.

Thanks,
Feng

>
> I expected hardlockup_sys_info to override the global default once it
> is explicitly set IMHO.
>
> IF hardlockup_sys_info is empty..
>
> This patch keeps the existing fallback! :)
>
> So the **bug** is not sys_info(0) itself.
>
> but the watchdog turning an explicit
> all_bt ONLY mask into zero after handling all_bt locally.
>
> What do you think Feng? Is this good to you? :)
>
> Cheers!
>
> >> Fixes: a9af76a78760 ("watchdog: add sys_info sysctls to dump sys info on
> >system lockup")
> >> Signed-off-by: Bradley Morgan <include@xxxxxxxxx>