Well, this patch has two aims. One is to stop the xen's timer by
stop_timer(). And another is to simplify pt_update_irq() which
searches the earliest platform timer.
To answer the latter aim, this patch gets rid of unused (masked
by IRQ) platform timer from vcpu->arch.hvm_vcpu.tm_list.
Your suggestion satisfies the first but the latter, I think.
Besides, pt_update_irq() is more critical since it is called on
every VM_EXIT.
Although I understand your uneasiness, is there any other way?
Thanks,
Kouya
Keir Fraser writes:
> Although I can see the sense here, the patch makes me a bit uneasy. Also I
> think neater code would result from simply making vpt.c's handling of
> periodic timers less stupid. By this I mean that calling set_timer() from
> the timer handler is not really necessary -- you already know an interrupt
> is now pending and the vcpu is kicked. May as well not set_timer() until the
> pending interrupt(s) are delivered. That would then effectively get your
> optimisation "for free", wouldn't it?
>
> -- Keir
>
> On 10/09/2009 06:47, "Kouya Shimura" <kouya@xxxxxxxxxxxxxx> wrote:
>
> > Hi,
> >
> > I've found that modern windows OS never use the PIT timer,
> > and neither cpu#0's LAPIC timer after boot.
> > Despite that, xen emulates them busily. It's inefficient.
> >
> > Note: this patch ignores the IRQ mask of legacy i8259 since
> > rombios frequently modifies it.
> >
> > Thanks,
> > Kouya
> >
> > Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx>
> >
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|