xen-devel
Re: [Xen-devel] [PATCH] Deferrable Timer
To: |
"Yu, Ke" <ke.yu@xxxxxxxxx> |
Subject: |
Re: [Xen-devel] [PATCH] Deferrable Timer |
From: |
Dave Winchell <dwinchell@xxxxxxxxxxxxxxx> |
Date: |
Fri, 18 Jul 2008 11:29:24 -0400 |
Cc: |
"Tian, Kevin" <kevin.tian@xxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx, Dave Winchell <dwinchell@xxxxxxxxxxxxxxx>, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>, "Wei, Gang" <gang.wei@xxxxxxxxx> |
Delivery-date: |
Fri, 18 Jul 2008 08:24:53 -0700 |
Envelope-to: |
www-data@xxxxxxxxxxxxxxxxxxx |
In-reply-to: |
<1104166E0B63A341805FDB977862AAD201BF4DE8@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> |
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> |
References: |
<1104166E0B63A341805FDB977862AAD201BC154A@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <C4A5047C.24127%keir.fraser@xxxxxxxxxxxxx> <1104166E0B63A341805FDB977862AAD201BF479B@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <487F53D1.6030104@xxxxxxxxxxxxxxx> <1104166E0B63A341805FDB977862AAD201BF4DE8@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> |
Sender: |
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |
User-agent: |
Mozilla Thunderbird 1.0.7-1.1.fc4 (X11/20050929) |
Ke,
Yu, Ke wrote:
Dave,
Glad to see there is deferrable timer application. Please go ahead with
that. And I will keep you updated if there is finding in my side.
ok.
BTW, Could you please elaborate more on the "guest-handles-missed-tick"
case? Since there is no need to inject missed tick to guest, which timer
would be used as deferrable timer?
Hpet.c uses set_timer for hpet comparator/timer 0. When that timer expires,
a clock interrupt may be injected to the guest. This timer
is normally set to expire at the next period boundary.
We could, instead, have it expire over a range of say, several periods.
Vpt.c works in a similar fashion for its periodic timer. Other clocksources,
e.g. pit, rtc, are layred on vpt.c with interface create_periodic_timer.
I can imagine an option passed to create_periodic_timer signifying that
a deferrable timer may be used.
Ideally, the deferrable timer would have an option where a set of allowable
timeout values, rather than a range, could be provided. If it had this
option, we could keep
the timeouts on the integer*period time line. Otherwise I need to warp
the comparator
as discussed below. I anticipate that there may be some problems with
warping.
I realize that specifying a range gives you more options for combining
timeouts.
I don't mind trying to solve the warping problem.
One further option would be a deferrable timer with a range fallowed by
a non-deferrable
timer to get back on the integer*period timeline for interrupt delivery.
thanks,
Dave
Best Regards
Ke
Dave Winchell wrote:
Ke,
One would think that hpet or vpt support for the
guest-handles-missed-ticks policy would be a good application for a
deferrable timer.
If a deferrable timer were used, then the comparator (cmp) would have
to
be warped to a non-integer multiple of the period. This is because
Linux reads the comparator register to estimate the delay since the
interrupt
was posted.
I don't think warping like this will be a problem. At some point, I
can test this.
I think we could use the deferrable timer for the
guest-does-not-handle-missed-ticks
policy as well.
Any investigation that you want to do in the platform timer area would
be fine.
Or I can do it, but that will probably be after I do the vpt.c/hpet.c
integration
work.
thanks,
Dave
Best Regards
Ke
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|