[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH for-4.21 03/10] x86/HPET: use single, global, low-priority vector for broadcast IRQ
On 16.10.2025 19:01, Andrew Cooper wrote: > On 16/10/2025 8:32 am, Jan Beulich wrote: >> Using dynamically allocated / maintained vectors has several downsides: >> - possible nesting of IRQs due to the effects of IRQ migration, >> - reduction of vectors available for devices, >> - IRQs not moving as intended if there's shortage of vectors, >> - higher runtime overhead. >> >> As the vector also doesn't need to be of any priority (first and foremost >> it really shouldn't be of higher or same priority as the timer IRQ, as >> that raises TIMER_SOFTIRQ anyway), avoid any "ordinary" vectors altogther >> and use a vector from the 0x10...0x1f exception vector space. Exception vs >> interrupt can easily be distinguished by checking for the presence of an >> error code. >> >> Fixes: 996576b965cc ("xen: allow up to 16383 cpus") >> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> > > This is so cunning that it took me a while to figure out how this even > functioned, given no apparent change to TPR. Yeah, the TPR part took me a while to figure out. I was scratching my head as to why I wasn't seeing any interrupts, until I figured I need to make that adjustment to FIRST_IRQ_VECTOR. > Having this behaviour under FRED is easy. In fact, allowing the use of > vectors 0x10-0x1f under FRED is one "extra" I haven't gotten around to > doing yet. Ah yes. > But, the problem it introduces under IDT is that for all the other > reserved exceptions, we'll panic if we see them. That was the point of > setting TPR to 0x10 originally. Which would be a clear indication of something being wrong, rather than things misbehaving (likely) entirely silently. So more of a benefit than a downside? Of course, if we were afraid of other vectors getting signaled, other entry points may need amending similarly to what I do to entry_AC(). It then isn't quite clear to me what, if anything, to do to entry points of exceptions coming without error code. Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |