Re: About releasing vcpu when closing vcpu fd

Anshul Makkar
2014-06-06T13:03:20Z

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 ?

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