Re: [PATCH] Add missing kernel log when enabling NO_HZ_FULL is not possible

From: Thomas Gleixner
Date: Sat Jun 19 2021 - 04:02:38 EST


Ani,

On Fri, Jun 11 2021 at 16:09, Ani Sinha wrote:
> diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
> index 828b091501ca..a82480c036e2 100644
> --- a/kernel/time/tick-sched.c
> +++ b/kernel/time/tick-sched.c
> @@ -937,10 +937,18 @@ static void tick_nohz_full_update_tick(struct tick_sched *ts)
> if (!ts->tick_stopped && ts->nohz_mode == NOHZ_MODE_INACTIVE)
> return;
>
> - if (can_stop_full_tick(cpu, ts))
> + if (can_stop_full_tick(cpu, ts)) {
> tick_nohz_stop_sched_tick(ts, cpu);
> - else if (ts->tick_stopped)
> - tick_nohz_restart_sched_tick(ts, ktime_get());
> + } else {
> + /*
> + * Don't allow the user to think they can get
> + * full NO_HZ with this machine.
> + */
> + WARN_ONCE(tick_nohz_full_running,
> + "NO_HZ_FULL will not work with current sched clock");

How is that warning useful and even remotely correct?

can_stop_full_tick() has 4 x 5 == 20 ways to return false and the
smaller portion of them is related to sched clock.

Thanks,

tglx