Re: [PATCH 3/7] kvm,lapic: Justify use of swait_activate()

From: Paolo Bonzini
Date: Fri Sep 15 2017 - 07:47:30 EST


On 13/09/2017 22:08, Davidlohr Bueso wrote:
> A comment might serve future readers.
>
> Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx>
> ---
> arch/x86/kvm/lapic.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
> index aaf10b6f5380..69c5612be786 100644
> --- a/arch/x86/kvm/lapic.c
> +++ b/arch/x86/kvm/lapic.c
> @@ -1324,6 +1324,10 @@ static void apic_timer_expired(struct kvm_lapic *apic)
> atomic_inc(&apic->lapic_timer.pending);
> kvm_set_pending_timer(vcpu);
>
> + /*
> + * For x86, the atomic_inc() is serialized, thus
> + * using swait_active() is safe.
> + */
> if (swait_active(q))
> swake_up(q);
>
>

Better add an smp_mb__after_atomic() for documentation purposes.

Paolo