Re: [PATCH] KVM: apic: reuse smp_wmb() in kvm_make_request()

From: linmiaohe
Date: Thu Feb 06 2020 - 21:59:19 EST


Sean Christopherson <sean.j.christopherson@xxxxxxxxx> wrote:
> On Thu, Feb 06, 2020 at 11:47:02AM +0100, Vitaly Kuznetsov wrote:
>> linmiaohe <linmiaohe@xxxxxxxxxx> writes:
>>
>> > From: Miaohe Lin <linmiaohe@xxxxxxxxxx>
>> >
>> > There is already an smp_mb() barrier in kvm_make_request(). We reuse
>> > it here.
>> > + /*
>> > + * Make sure pending_events is visible before sending
>> > + * the request.
>> > + * There is already an smp_wmb() in kvm_make_request(),
>> > + * we reuse that barrier here.
>> > + */
>>
>> Let me suggest an alternative wording,
>>
>> "kvm_make_request() provides smp_wmb() so pending_events changes are
>> guaranteed to be visible"
>>
>> But there is nothing wrong with yours, it's just longer than it could
>> be
>> :-)

Thanks for your alternative wording. It looks much better.

>I usually lean in favor of more comments, but in thise case I'd vote to drop the comment altogether. There are lots of places that rely on the
>smp_wmb() in kvm_make_request() without a comment, e.g. the cases for APIC_DM_STARTUP and APIC_DM_REMRD in this same switch, kvm_inject_nmi(), etc... One might wonder what makes INIT special.
>
>And on the flip side, APIC_DM_STARTUP is a good example of when a
>smp_wmb()/smp_rmb() is needed and commented correctly (though calling out the exactly location of the other half would be helpful).

Yeh, I think the comment should be dropped too. :)

Thanks to both for review! I would send v2.