On 2011-02-07 15:58, Avi Kivity wrote:
> On 02/07/2011 04:54 PM, Anthony Liguori wrote:
>>
>>>   Why the accumulated_ticks argument?
>>
>> Then the missing ticks is stored in the PeriodicTimer instead of 
>> storing it in the device state.  That means we won't forget to save it 
>> in vmstate.
>>
>> It's convenient because then if we lose ticks in the PeriodicTimer 
>> layer, the devices have instance access to that info.  When you do a 
>> read() from timerfd, it returns the number of coalesced events.  
>> That's the interface I had in my mind.
>>
>> We could just add a getter for PeriodicTimer and it would serve the 
>> same purpose.
> 
> If a drift compensation policy is in effect, you don't need the missed 
> ticks, since you will get one callback for each (delayed) tick.  If 
> there is no drift compensation policy, presumably you aren't interested 
> in lost ticks.  So the ticks argument isn't very useful.

Exactly.

> 
> On the other hand, we need a way to inject lost ticks into a 
> PeriodicTimer.  If interrupt injection detects that an interrupt was 
> coalesced, we want the timer to schedule a new tick for us.

Isn't absence of corresponding call to periodic_timer_ack() sufficient?

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux

Reply via email to