Re: About releasing vcpu when closing vcpu fd

Gleb Natapov
2014-05-29T08:12:16Z

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.