All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Winchell <dwinchell@virtualiron.com>
To: "Tian, Kevin" <kevin.tian@intel.com>
Cc: Dave Winchell <dwinchell@virtualiron.com>,
	xen-devel@lists.xensource.com,
	Keir Fraser <keir.fraser@eu.citrix.com>,
	"Yu, Ke" <ke.yu@intel.com>, "Wei, Gang" <gang.wei@intel.com>
Subject: Re: [PATCH] Deferrable Timer
Date: Tue, 22 Jul 2008 11:56:12 -0400	[thread overview]
Message-ID: <4886031C.3020107@virtualiron.com> (raw)
In-Reply-To: <D470B4E54465E3469E2ABBC5AFAC390F024D9598@pdsmsx412.ccr.corp.intel.com>

Kevin,

Let me just try to use the deferrable timers as they are
specified today. If I have trouble doing so, then we can discuss
at that point.

thanks,
Dave

Tian, Kevin wrote:

>>From: Dave Winchell [mailto:dwinchell@virtualiron.com] 
>>Sent: 2008年7月18日 23:29
>>
>>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.
>>    
>>
>
>Agree. 
>
>  
>
>>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.
>>    
>>
>
>Not sure why this option is required. In any case, you just keep cmp
>updated by integer*period which is just enough in timer fn and has 
>nothing to do with whether timer is deferred. Timers are always deferred
>before and after, with only difference on the extent, especially when
>you consider the point when guest gets chance to act on it.
>  
>

>  
>
>>I realize that specifying a range gives you more options for combining 
>>timeouts.
>>I don't mind trying to solve the warping problem.
>>    
>>
>
>Yes, the purpose of the deferral is to reduce timer ticks, or else it
>really make no sense.
>
>  
>
>>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.
>>    
>>
>
>What's the purpose then? current algorithm to find whether one
>timer should be deferred is to find whether other timers may 
>expire in its tolerated future, regardless of whether next timer
>is deferrable or not. Why do you care whether next one is
>non-deferrable?
>
>Thanks,
>Kevin
>  
>

      reply	other threads:[~2008-07-22 15:56 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-17 12:54 [PATCH] Deferrable Timer Yu, Ke
2008-07-17 13:15 ` Keir Fraser
2008-07-17 13:55   ` Yu, Ke
2008-07-17 14:14     ` Dave Winchell
2008-07-18 14:37       ` Yu, Ke
2008-07-18 15:11         ` Yu, Ke
2008-07-18 15:44           ` Dave Winchell
2008-07-18 15:29         ` Dave Winchell
2008-07-21  5:46           ` Tian, Kevin
2008-07-22 15:56             ` Dave Winchell [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4886031C.3020107@virtualiron.com \
    --to=dwinchell@virtualiron.com \
    --cc=gang.wei@intel.com \
    --cc=ke.yu@intel.com \
    --cc=keir.fraser@eu.citrix.com \
    --cc=kevin.tian@intel.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.