On 02/07/2017 03:56, Wanpeng Li wrote:
>>> -       if (!apic_lvtt_period(apic) && atomic_read(&ktimer->pending))
>>> +       if (!apic_lvtt_period(apic) && (r || 
>>> atomic_read(&ktimer->pending))) {
>>> +               if (r)
>>> +                       apic_timer_expired(apic);
>>>                 return false;
>>> +       }
>>
>> This logic is not the same as in my v4
>> http://www.mail-archive.com/[email protected]/msg1434040.html
>> . You return false for the expired timer and actually it will switch
>> to sw timer.
>
> Ah, I miss read it, the rebase is correct.

Yeah, I'm not entirely satisfied with it but it's working: start_sw
timer will see ktimer->pending and do nothing.

But thinking more about it, maybe the "if (r)" can be omitted
completely?  We need to benchmark it but it can be done.

Paolo

Reply via email to