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

From: Avi Kivity
Date: Wed Dec 28 2011 - 04:53:45 EST


On 12/28/2011 08:54 AM, Liu ping fan wrote:
> >>
> >> struct kvm_vcpu {
> >> struct kvm *kvm;
> >> + struct list_head list;
> >> #ifdef CONFIG_PREEMPT_NOTIFIERS
> >> struct preempt_notifier preempt_notifier;
> >> #endif
> >> @@ -251,12 +252,14 @@ struct kvm {
> >> struct mm_struct *mm; /* userspace tied to this vm */
> >> struct kvm_memslots *memslots;
> >> struct srcu_struct srcu;
> >> + struct srcu_struct srcu_vcpus;
> >> +
> >
> > Another srcu. This alone is worth explaining in the changelog IMO.
> >
> Sorry, but why? I think it is just a srcu, and because it has
> different aim and want a independent grace period, so not multiplex
> kvm->srcu.

There is Documentation/virtual/kvm/locking.txt for that.

btw, why does it have to be srcu? Is rcu insufficient?

Why do we want an independent grace period, is hotunplugging a vcpu that
much different from hotunplugging memory?

--
error compiling committee.c: too many arguments to function

--
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/