Avi,
        This is the updated patch, which avoids inactive hrtimers from 
unintended migrations.

save/restore timer logic is not included because it does not call 
hrtimer_cancel (hrtimer_active is different). It has relatively small impact, 
for it only affects save/restore at maybe guest BIOS time, maybe we can defer 
it to some later time

>-----Original Message-----
>From: Avi Kivity [mailto:[EMAIL PROTECTED]
>Sent: 2007年9月9日 15:39
>To: He, Qing
>Cc: kvm-devel@lists.sourceforge.net
>Subject: Re: [kvm-devel] [PATCH 2/3] KVM: fix apic timer save/migration when 
>inactive
>
>He, Qing wrote:
>>
>>>>> +    if (atomic_read(&apic->timer.active))
>>>>>
>>>>>
>>>> Or here?
>>>>
>>>>
>>>>> +        hrtimer_start(timer, timer->expires,
>>>>> +                  HRTIMER_MODE_ABS);
>>>>>  }
>>>>>  EXPORT_SYMBOL_GPL(kvm_migrate_apic_timer);
>>>>>
>>>>>
>>>>>
>>> I think you could use the return value of hrtimer_cancel() here:
>>>
>>>    if (hrtimer_cancel(...))
>>>        hrtimer_start(...);
>>>
>>
>> Thanks for commenting, previously I have thought of something like:
>>      if (hrtimer_active(...)) {
>>              hrtimer_cancel(...);
>>              hrtimer_start(...);
>>      }
>>
>> But it is not able to handle pending state this way. Seems the return value 
>> of
>hrtimer_cancel is fine. Another question is, when the hrtimer function returns
>HRTIMER_NORESTART, does the state finally turn to HRTIMER_STATE_INACTIVE?
>>
>
>From my reading of the hrtimer code, yes. But I would view any code
>which depends on the state with suspicion.
>
>
>--
>error compiling committee.c: too many arguments to function

Attachment: hrtimer-compat-wa.patch
Description: hrtimer-compat-wa.patch

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to