[lkml]   [2007]   [Mar]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: + stupid-hack-to-make-mainline-build.patch added to -mm tree
On 03/06/2007 04:24 PM, Jeremy Fitzhardinge wrote:
> Thomas Gleixner wrote:
>>> 3) clockevent set_next_event interface is suboptimal for paravirt (and
>>> probably realtime-ish uses). The problem is that the expiry is passed
>>> as a relative time. On paravirt, an arbitrary amount of (stolen) time
>>> may have passed since the delta was computed and when the timer device
>>> is programmed, causing that next interrupt to be too far out in the
>>> future. It seems a better interface for set_next_event would be to pass
>>> the current time and the absolute expiry. Actually, I sent email to
>>> Thomas and Ingo about this (and some other clockevents/hrtimer feedback)
>>> in July 2006, but never heard back. Thoughts?
>> There is no problem for realtime uses, as the reprogramming path is
>> running with local interrupts disabled. I can see the point for paravirt
>> and I'm not opposed to change / expand the interface for that. It might
>> be done by an extra clockevents feature flag, which requests absolute
>> time instead of relative time.
> I'm not sure how much different it makes overall. It's true that
> absolute time would be a more useful interface, but because the guest
> vcpu can be preempted at any time, we could miss the timeout
> regardless. In Xen if you set a timeout for the past you get an
> immediate interrupt; I presume the clockevent code can deal with that?

That's the problem though, you won't know to set it for the past since
the expiry is relative. When the vcpu starts running again, it will set
the timer to expire X ns from now, not Xns from when the timer was
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2007-03-07 01:41    [from the cache]
©2003-2014 Jasper Spaans. hosted at Digital Ocean