Re: About releasing vcpu when closing vcpu fd

Gleb Natapov
2014-06-06T13:36:22Z

On Fri, Jun 06, 2014 at 03:02:59PM +0200, Anshul Makkar wrote:
> IIRC, Igor was of the opinion that patch for vcpu deletion will be
> incomplete till its handled properly in kvm i.e vcpus are destroyed
> completely. http://comments.gmane.org/gmane.comp.emulators.kvm.devel/114347
> .
>
> So can the above proposal where just vcpus can be disabled and
> reused in qemu is an acceptable solution ?
>
If by "above proposal" you mean the proposal in the email you linked,
then no since it tries to destroy vcpu, but does it incorrectly. If you
mean proposal to "park" unplugged vcpu, so that guest will not be able
to use it, then yes, it is pragmatic path forward.

> Thanks
> Anshul Makkar
>
> On Thu, May 29, 2014 at 10:12 AM, Gleb Natapov <gleb@kernel.org> wrote:
> > On Thu, May 29, 2014 at 01:40:08PM +0800, Gu Zheng wrote:
> >> >> There was a patch(from Chen Fan, last august) about releasing vcpu when
> >> >> closing vcpu fd <http://www.spinics.net/lists/kvm/msg95701.html>, but
> >> >> your comment said "Attempt where made to make it possible to destroy
> >> >> individual vcpus separately from destroying VM before, but they were
> >> >> unsuccessful thus far."
> >> >> So what is the pain here? If we want to achieve the goal, what should we do?
> >> >> Looking forward to your further comments.:)
> >> >>
> >> > CPU array is accessed locklessly in a lot of places, so it will have to be RCUified.
> >> > There was attempt to do so 2 year or so ago, but it didn't go anyware. Adding locks is
> >> > to big a price to pay for ability to free a little bit of memory by destroying vcpu.
> >>
> >> Yes, it's a pain here. But if we want to implement "vcpu hot-remove", this must be
> >> fixed sooner or later.
> > Why? "vcpu hot-remove" already works (or at least worked in the past
> > for some value of "work"). No need to destroy vcpu completely, just
> > park it and tell a guest not to use it via ACPI hot unplug event.
> >
> >> And any guys working on kvm "vcpu hot-remove" now?
> >>
> >> > An
> >> > alternative may be to make sure that stopped vcpu takes as little memory as possible.
> >>
> >> Yeah. But if we add a new vcpu with the old id that we stopped before, it will fail.
> >>
> > No need to create vcpu again, just unpark it and notify a guest via ACPI hot plug event that
> > vcpu can be used now.
> >
> > --
> > Gleb.
> > --
> > To unsubscribe from this list: send the line "unsubscribe kvm" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html

--
Gleb.