[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2] xen/arm: implement GICD_I[S/C]ACTIVER reads
On Fri, 3 Apr 2020 at 20:41, Stefano Stabellini <sstabellini@xxxxxxxxxx> wrote: > > On Thu, 2 Apr 2020, Julien Grall wrote: > > As we discussed on Tuesday, the cost for other vCPUs is only going to be a > > trap to the hypervisor and then back again. The cost is likely smaller than > > receiving and forwarding an interrupt. > > > > You actually agreed on this analysis. So can you enlighten me as to why > > receiving an interrupt is a not problem for latency but this is? > > My answer was that the difference is that an operating system can > disable interrupts, but it cannot disable receiving this special IPI. An OS can *only* disable its own interrupts, yet interrupts will still be received by Xen even if the interrupts are masked at the processor (e.g local_irq_disable()). You would need to disable interrupts one by one as the GIC level (use ICENABLER) in order to not receive any interrupts. Yet, Xen may still receive interrupts for operational purposes (e.g serial, console, maintainance IRQ...). So trap will happen. But if your concern is to disturb a vCPU which has interrupts disabled. Then there is way to mitigate this in an implementation, you can easily know whether there are interrupts inflight at a given point for a given vCPU. So you can avoid to IPI if you know there is no interrupts potentially active. This is why I clearly written the implementation I suggested was *not* optimized in the same e-mail as where I made the proposal. Cheers,
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |