On Thu, Aug 01 2024 at 20:21, David Woodhouse wrote: > On Thu, 2024-08-01 at 21:06 +0200, Thomas Gleixner wrote: >> Yes. So the sequence should stop KVM from trying to inject >> interrupts. Maybe someone fixes it to actually stop fiddling with the >> counter too :) > > I don't think we care about the counter value, as that's *calculated* > on demand when the guest tries to read from it. Or, more to the point, > *if* the guest tries to read from it. > > As opposed to the interrupt, which is a timer in the VMM which takes a > CPU out of guest mode and incurs steal time, just to waggle a pin on > the emulated PICs for no good reason. Well, if the implementation still arms the timer in the background, then it matters because that has to be processed too. I haven't looked at that code at all, so what do I know. >> > I'm glad I decided to export a function from the clocksource driver and >> > just *call* it from pit_timer_init() though. Means we can bikeshed the >> > shutdown sequence in *one* place and it isn't duplicated. >> >> Right. Though we don't have to make this conditional on hypervisor I >> think. > > Right, we don't *have* to. I vacillated about that and almost ripped it > out before sending the patch, but came down on the side of "hardware is > a steaming pile of crap and if I don't *have* to change its behaviour, > let's not touch it". > > I justify my cowardice on the basis that it doesn't *matter* if a > hardware implementation is still toggling the IRQ pin; in that case > it's only a few irrelevant transistors which are busy, and it doesn't > translate to steal time. On real hardware it translates to power... Thanks, tglx