This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] Question about hpet calls to set_timer

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Question about hpet calls to set_timer
From: Beth Kon <eak@xxxxxxxxxx>
Date: Fri, 15 Aug 2008 14:41:42 -0400
Delivery-date: Fri, 15 Aug 2008 13:41:12 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hello. I'm looking over the Xen hpet.c to see what I can steal for the
qemu implementation I'm working on. (Thank you kindly :-)

One thing that doesn't make sense to me is why, in hpet_timer_fn, the
timer is set with:

set_timer(&h->timers[tn], NOW() + hpet_tick_to_ns(h, period));

rather than calculating the difference between the final value of the
comparator (after the time_after loop) and the current time. This is the
approach used in hpet_set_timer:

set_timer(&h->timers[tn], NOW() + hpet_tick_to_ns(h, diff));

and would seem to be the best way to get as close to the desired expire
time as possible. Can someone explain why the approaches are different
in these 2 places?

Elizabeth Kon (Beth)
IBM Linux Technology Center
Open Hypervisor Team
email: eak@xxxxxxxxxx

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>