Re: [PATCH 0/2] i8253: Fix PIT shutdown quirk on Hyper-V

From: Thomas Gleixner
Date: Sat Nov 03 2018 - 13:22:16 EST


On Fri, 2 Nov 2018, Juergen Gross wrote:
> On 01/11/2018 18:30, Michael Kelley wrote:
> > pit_shutdown() doesn't work on Hyper-V because of a quirk in the
> > PIT emulation. This problem exists in all versions of Hyper-V and
> > had not been noticed previously. When the counter register is set
> > to zero, the emulated PIT continues to interrupt @18.2 HZ.
> >
> > So add a test for running on Hyper-V, and use that test to skip
> > setting the counter register when running on Hyper-V.
> >
> > This patch replaces a previously proposed patch with a different
> > approach. This new approach follows comments from Thomas Gleixner.
>
> Did you consider using a static_key instead? You could set it in
> ms_hyperv_init_platform(). This would enable you to support future
> Hyper-V versions which don't require avoiding to set the count to zero.

Duh. Now that you say it it's more than obvious. Instead of checking for
running on hyperv have a quirk check in that function and set it from
hyperv. Not necessarily a static key required as this is not a fast path,
so a simple ro_after_init marked variable is good enough

Michael, sorry for guiding you down the wrong road. Juergens idea is much
better.

If you redo that, could you please make sure, that your mail series is
properly threaded? i.e. the 1..n/n mails contain a

Reference: <message_id_of_0/n>

Thanks,

tglx