Re: [PATCH v2 01/14] KVM: x86: change PIT discard tick policy

From: Peter Krempa
Date: Thu Feb 25 2016 - 07:34:40 EST


On Fri, Feb 19, 2016 at 15:44:23 +0100, Radim KrÄmÃÅ wrote:
> [Cc'd Peter, the last guy that touched timers in libvirt, because he
> might know what tick policies are supposed to be.]

I found the following RFC that describes the design of timer access in
libvirt:

http://www.redhat.com/archives/libvir-list/2010-March/msg00304.html

>
> 2016-02-18 18:55+0100, Paolo Bonzini:
> > On 18/02/2016 18:33, Paolo Bonzini wrote:
> >> On 18/02/2016 17:56, Radim KrÄmÃÅ wrote:
> >>> 2016-02-18 17:13+0100, Paolo Bonzini:
> >>>> On 17/02/2016 20:14, Radim KrÄmÃÅ wrote:
> >>>>> Discard policy uses ack_notifiers to prevent injection of PIT interrupts
> >>>>> before EOI from the last one.
> >>>>>
> >>>>> This patch changes the policy to always try to deliver the interrupt,
> >>>>> which makes a difference when its vector is in ISR.
> >>>>> Old implementation would drop the interrupt, but proposed one injects to
> >>>>> IRR, like real hardware would.
> >>>>
> >>>> This seems like what libvirt calls the "merge" policy:
> >>>
> >>> Oops, I never looked beyond QEMU after seeing that the naming in libvirt
> >>> doesn't even match ...
> >>>
> >>> I think the policy that KVM implements (which I call discard) is "delay"
> >>> in libvirt. (https://libvirt.org/formatdomain.html#elementsTime)
>
> (I looked at libvirt code, but couldn't find any use of merge or discard
> policies, so please bear with me as I disagree wherever it's possible.)

Indeed, it looks like it never was implemented. Unfortunately i'm not
able to assist more in this case.

Peter

Attachment: signature.asc
Description: Digital signature