Thread (31 messages) 31 messages, 6 authors, 2024-08-13

Re: [PATCH] clockevents/drivers/i8253: Do not zero timer counter in shutdown

From: Thomas Gleixner <hidden>
Date: 2024-08-01 20:00:26
Also in: lkml

On Thu, Aug 01 2024 at 20:21, David Woodhouse wrote:
On Thu, 2024-08-01 at 21:06 +0200, Thomas Gleixner wrote:
quoted
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.
quoted
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help