Re: [PATCH v2 00/43] KVM: Halt-polling and x86 APICv overhaul
From: Sean Christopherson
Date: Wed Oct 27 2021 - 11:28:39 EST
On Wed, Oct 27, 2021, Paolo Bonzini wrote:
> On 27/10/21 16:41, Sean Christopherson wrote:
> > The other thing I don't like about having the WARN in the loop is that it suggests
> > that something other than the vCPU can modify the NDST and SN fields, which is
> > wrong and confusing (for me).
>
> Yeah, I can agree with that. Can you add it in a comment above the cmpxchg
> loop, it can be as simple as
>
> /* The processor can set ON concurrently. */
>
> when you respin patch 21 and the rest of the series?
I can definitely add a comment, but I think that comment is incorrect. AIUI,
the CPU is the one thing in the system that _doesn't_ set ON, at least not without
IPI virtualization (haven't read that spec yet). KVM (software) sets it when
emulating IPIs, and the IOMMU (hardware) sets it for "real" posted interrupts,
but the CPU (sans IPI virtualization) only clears ON when processing an IRQ on
the notification vector.
So something like this?
/* ON can be set concurrently by a different vCPU or by hardware. */