[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v5 2/5] x86/hpet: Use singe apic vector rather than irq_descs for HPET interrupts

On 06/03/14 14:33, Jan Beulich wrote:
>>>> On 05.03.14 at 16:43, Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote:
>>  ** If an HPET firing at an appropriate time can be found (up to 20us late), 
>> a
>>     CPU will simply request to be woken up with that HPET.
> With exit latencies from C1/C1E in the range of 1...10us, 20us seems
> like a lot of additional latency added here.

Well - it is down from 50us, and also not ahead of time.  Any narrowing
of this window does mean higher contention when fighting over the
remaining hpets.

>>  ** Failing finding an appropriate timed HPET, a CPU shall find the soonest
>>     late HPET and program it earlier.
>>  ** Failing any late HPETs, a CPU shall wake up with the latest early HPET it
>>     can find.
> And do what?

Wake up early, in the hope that the hpet arrangements are different when
it next comes to look

>>  ** Failing all else, a CPU shall retry to find a free HPET.  This guarantees
>>     that a CPU will never leave hpet_broadcast_enter() without arranging an
>>     interrupt.
> For how long? Indefinitely (i.e. until the wakeup time is reached)?
> All without having looked at the details of the patch yet.
> Jan

Forever.  There are certain sleep paths which cannot be aborted by this
point, so exiting without having set up a wakup is not an option.

A different option would be to make all sleep paths abortable, at which
point my v4 series would be appropriate (plus spinlock bugfix)


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.