From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Winchell Subject: Re: [PATCH] Deferrable Timer Date: Fri, 18 Jul 2008 11:29:24 -0400 Message-ID: <4880B6D4.4020906@virtualiron.com> References: <1104166E0B63A341805FDB977862AAD201BC154A@pdsmsx414.ccr.corp.intel.com> <1104166E0B63A341805FDB977862AAD201BF479B@pdsmsx414.ccr.corp.intel.com> <487F53D1.6030104@virtualiron.com> <1104166E0B63A341805FDB977862AAD201BF4DE8@pdsmsx414.ccr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1104166E0B63A341805FDB977862AAD201BF4DE8@pdsmsx414.ccr.corp.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "Yu, Ke" Cc: "Tian, Kevin" , xen-devel@lists.xensource.com, Dave Winchell , Keir Fraser , "Wei, Gang" List-Id: xen-devel@lists.xenproject.org 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@lists.xensource.com >>>http://lists.xensource.com/xen-devel >>> >>> > > >