Re: [PATCH v3 1/2] x86/tsc: add a timer to make sure tsc_adjust is always checked

From: Feng Tang
Date: Mon Mar 14 2022 - 21:33:20 EST


Hi Nicolas,

Thanks for raising it.

On Mon, Mar 14, 2022 at 06:52:07PM +0100, Nicolas Saenz Julienne wrote:
> Hi Feng, Thomas,
>
> > On Wed, Nov 17, 2021 at 10:37:51AM +0800, Feng Tang wrote:
> > Normally the tsc_sync will get checked every time system enters idle state,
> > but Thomas Gleixner mentioned there is still a caveat that a system won't
> > enter idle [1], either because it's too busy or configured purposely to not
> > enter idle. Setup a periodic timer (every 10 minitues) to make sure the
> > check is always on.
> >
> > [1]. https://lore.kernel.org/lkml/875z286xtk.fsf@xxxxxxxxxxxxxxxxxxxxxxx/
> > Signed-off-by: Feng Tang <feng.tang@xxxxxxxxx>
>
> I can see this timer interrupting my system's nohz_full CPUs. It'd be nice to
> be able to avoid the noise. A solution is using 'tsc=reliable', but IIUC this
> is not what the flag was created for. Any ideas/suggestions?

This patch is about correctness. And yes, as you said, the 'tsc=reliable'
works. Another thought is to leverage the 'housekeeping_mask' to exclude
the isolated nohz_full CPUs, but the 'caveat' what the patch try to solve
remains.

Also before this patchset, the clocksource watchdog timer is fired every
500ms, which should interrupt nohz_full CUPS more?

Thanks,
Feng

> Regards,
> Nicolas