Re: [PATCH v4] kvm: make vcpu life cycle separated from kvm instance

From: Xiao Guangrong
Date: Thu Dec 15 2011 - 03:26:32 EST


On 12/15/2011 02:53 PM, Liu ping fan wrote:


>
>>> +struct kvm_vcpu *kvm_vcpu_get(struct kvm_vcpu *vcpu)
>>> +{
>>> + if (vcpu == NULL)
>>> + return NULL;
>>> + if (atomic_add_unless(&vcpu->refcount, 1, 0))
>>
>>
>> Why do not use atomic_inc()?
>> Also, i think a memory barrier is needed after increasing refcount.
>>
> Because when refcout==0, we prepare to destroy vcpu, and do not to
> disturb it by increasing the refcount.


Oh, get it.

> And sorry but I can not figure out the scene why memory barrier needed
> here. Seems no risks on SMP.
>


If atomic_add_unless is necessary, memory barrier is not needed here.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/