public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Gu Zheng <guz.fnst@cn.fujitsu.com>
To: Anshul Makkar <anshul.makkar@profitbricks.com>
Cc: Gleb Natapov <gleb@minantech.com>,
	ChenFan <chen.fan.fnst@cn.fujitsu.com>,
	Gleb Natapov <gleb@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>, kvm <kvm@vger.kernel.org>,
	Igor Mammedov <imammedo@redhat.com>
Subject: Re: About releasing vcpu when closing vcpu fd
Date: Tue, 1 Jul 2014 10:07:01 +0800	[thread overview]
Message-ID: <53B217C5.6010207@cn.fujitsu.com> (raw)
In-Reply-To: <CAM4NYE9=5nZCDwPHs=LeLBzZ2sifDsmzZ5Hy82kCUV7ivu8Feg@mail.gmail.com>

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
> <anshul.makkar@profitbricks.com> 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 <gleb@minantech.com> 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 <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.
> .
> 



  reply	other threads:[~2014-07-01  2:18 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <537AEC13.1000804@cn.fujitsu.com>
     [not found] ` <20140523094345.GC5306@minantech.com>
2014-05-29  5:40   ` About releasing vcpu when closing vcpu fd Gu Zheng
2014-05-29  8:12     ` Gleb Natapov
2014-06-06 13:02       ` Anshul Makkar
2014-06-06 13:36         ` Gleb Natapov
2014-06-06 13:41           ` Anshul Makkar
2014-06-30 14:41             ` Anshul Makkar
2014-07-01  2:07               ` Gu Zheng [this message]
2014-07-11  9:59                 ` Anshul Makkar
2014-07-02  9:43               ` Igor Mammedov
2014-07-04  8:30                 ` Anshul Makkar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53B217C5.6010207@cn.fujitsu.com \
    --to=guz.fnst@cn.fujitsu.com \
    --cc=anshul.makkar@profitbricks.com \
    --cc=chen.fan.fnst@cn.fujitsu.com \
    --cc=gleb@minantech.com \
    --cc=gleb@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox