From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anshul Makkar Subject: Re: About releasing vcpu when closing vcpu fd Date: Fri, 11 Jul 2014 11:59:27 +0200 Message-ID: References: <537AEC13.1000804@cn.fujitsu.com> <20140523094345.GC5306@minantech.com> <5386C838.3070102@cn.fujitsu.com> <20140529081203.GA32254@minantech.com> <20140606133612.GS4715@minantech.com> <53B217C5.6010207@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: Gleb Natapov , ChenFan , Gleb Natapov , Paolo Bonzini , kvm , Igor Mammedov To: Gu Zheng Return-path: Received: from mail-qc0-f170.google.com ([209.85.216.170]:38819 "EHLO mail-qc0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752970AbaGKJ7s (ORCPT ); Fri, 11 Jul 2014 05:59:48 -0400 Received: by mail-qc0-f170.google.com with SMTP id c9so752834qcz.29 for ; Fri, 11 Jul 2014 02:59:48 -0700 (PDT) In-Reply-To: <53B217C5.6010207@cn.fujitsu.com> Sender: kvm-owner@vger.kernel.org List-ID: Hi Gu, Sorry, just wanted to check whether you are going to release patchset or it will take some more time. Thanks Anshul Makkar On Tue, Jul 1, 2014 at 4:07 AM, Gu Zheng wrote: > Hi Anshul, > On 06/30/2014 10:41 PM, Anshul Makkar wrote: > >> Hi, >> >> Currently as per the specs for cpu_hot(un)plug, ACPI GPE Block: IO >> ports 0xafe0-0xafe3 where each bit corresponds to each CPU. >> >> Currently, EJ0 method in acpi-dsdt-cpu-hotplu.dsl doesn't do anything. >> >> Method(CPEJ, 2, NotSerialized) { >> // _EJ0 method - eject callback >> Sleep(200) >> } >> >> I want to implement a notification mechanism for CPU hotunplug just >> like we have in memory hotunplug where in we write to particular IO >> port and this read/write is caught in the memory-hotplug.c . >> >> So, just want a suggestion as to whether I should expand the IO port >> range from 0xafe0 to 0xafe4 (addition of 1 byte), where last byte is >> for notification of EJ0 event. >> >> Or if you have any other suggestion, please share. > > In fact, Chen Fan has implemented this feature in his previous vcup hot remove > patchset: > http://lists.gnu.org/archive/html/qemu-devel/2013-12/msg04266.html > As you know, it is based on the cleaning up kvm vcpus as you mentioned the in > previous thread, and it has not been applied for some reason. > So I am trying to respin a new one based on Chen Fan's previous patchset recently, > and if nothing else, I will send it to the community in the coming week. So if you > like, please hold on for a moment.;) > > Thanks, > Gu > >> >> Thanks >> Anshul Makkar >> >> On Fri, Jun 6, 2014 at 3:41 PM, Anshul Makkar >> wrote: >>> Oh yes, sorry for the ambiguity. I meant proposal to "park" unplugged vcpus. >>> >>> Thanks for the suggesting the practical approach. >>> >>> Anshul Makkar >>> >>> On Fri, Jun 6, 2014 at 3:36 PM, Gleb Natapov wrote: >>>> 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 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 , 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. >> . >> > >