Messages in this thread | | | Date | Thu, 15 Dec 2011 16:25:51 +0800 | From | Xiao Guangrong <> | Subject | Re: [PATCH v4] kvm: make vcpu life cycle separated from kvm instance |
| |
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.
| |