The watchdog default is disabled on nohz_full cores, however when
override the cpumask, if new cpumask contains nohz_full cores,
add warning message.
Signed-off-by: Zqiang <[email protected]>
---
v1->v2:
if watchdog_cpumask became empty, set housekeeping_cpumask.
v2->v3:
only print a warning when a nohz_full CPU is included in new cpumask.
kernel/watchdog.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/kernel/watchdog.c b/kernel/watchdog.c
index ad912511a0c0..37a978d8ff06 100644
--- a/kernel/watchdog.c
+++ b/kernel/watchdog.c
@@ -629,6 +629,7 @@ static void proc_watchdog_update(void)
{
/* Remove impossible cpus to keep sysctl output clean. */
cpumask_and(&watchdog_cpumask, &watchdog_cpumask, cpu_possible_mask);
+ WARN_ONCE(!cpumask_subset(&watchdog_cpumask, housekeeping_cpumask(HK_FLAG_TIMER)), "Enabling watchdog on nohz_full cores\n");
lockup_detector_reconfigure();
}
--
2.17.1
On 2021/11/18 上午11:10, Zqiang wrote:
> The watchdog default is disabled on nohz_full cores, however when
> override the cpumask, if new cpumask contains nohz_full cores,
> add warning message.
>
> Signed-off-by: Zqiang <[email protected]>
> ---
> v1->v2:
> if watchdog_cpumask became empty, set housekeeping_cpumask.
> v2->v3:
> only print a warning when a nohz_full CPU is included in new cpumask.
>
> kernel/watchdog.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/kernel/watchdog.c b/kernel/watchdog.c
> index ad912511a0c0..37a978d8ff06 100644
> --- a/kernel/watchdog.c
> +++ b/kernel/watchdog.c
> @@ -629,6 +629,7 @@ static void proc_watchdog_update(void)
> {
> /* Remove impossible cpus to keep sysctl output clean. */
> cpumask_and(&watchdog_cpumask, &watchdog_cpumask, cpu_possible_mask);
> + WARN_ONCE(!cpumask_subset(&watchdog_cpumask, housekeeping_cpumask(HK_FLAG_TIMER)), "Enabling watchdog on nohz_full cores\n");
> lockup_detector_reconfigure();
> }
>
Hello Frederic
Can you give some suggestions?
Thanks
Zqiang