All of lore.kernel.org
 help / color / mirror / Atom feed
From: Li Zhang <zhlcindy@gmail.com>
To: Igor Mammedov <imammedo@redhat.com>
Cc: peter.maydell@linaro.org, qemu-arm@nongnu.org,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Li Zhang <li.zhang@hxt-semitech.com>
Subject: Re: [Qemu-devel] [PATCH 0/3] arm/virt: refine virt.c code and implement hot_add_cpu interface
Date: Tue, 30 May 2017 11:43:54 +0800	[thread overview]
Message-ID: <1B0ED5FF-7254-41AD-B53F-B7EE201C2A15@gmail.com> (raw)
In-Reply-To: <20170529124339.43eea1c5@nial.brq.redhat.com>



> 在 2017年5月29日,下午6:43,Igor Mammedov <imammedo@redhat.com> 写道:
> 
> On Sat, 27 May 2017 10:32:33 +0800
> Li Zhang <zhlcindy@gmail.com> wrote:
> 
>>> On Fri, May 26, 2017 at 7:21 PM, Igor Mammedov <imammedo@redhat.com> wrote:
>>> On Fri, 26 May 2017 17:21:05 +0800
>>> Li Zhang <zhlcindy@gmail.com> wrote:
>>> 
>>>> From: Li Zhang <li.zhang@hxt-semitech.com>
>>>> 
>>>> virt machine doesn't support hot_add_cpu interface. This patchset is to implement
>>>> hot_add_cpu interface. A CPU can be added by QMP command with QEMU monitor.
>>>> 
>>>> Here is command to add a CPU with QMP command.
>>>> 
>>>> * qemu-system-aarch64 -machine virt -cpu cortex-a15 -smp 1,maxcpus=4 \
>>>>    -monitor telnet:127.0.0.1:4444,server,nowait -nographic
>>>> * connect monitor:      telnet 127.0.0.1 4444
>>>> * execute qmp command:  cpu-add 1  
>>> cpu-add command shouldn't be used for new cpu hotplug,
>>> pls use generic device_add for that.  
>> 
>> Ok,  I will drop this command and look at device_add.
>> 
>>> 
>>> The last time I looked at it, virt machine needed quite a bit of
>>> re-factoring of the way it creates/wires up CPUs.  
>> 
>> Yes, I am looking into it and see if I can do something:)
>> 
>>> 
>>> Pls see usage of following callbacks for example on how to implement
>>> device_add based cpu hotplug:
>>> 
>>>  get_hotplug_handler
>>>  pc_cpu_pre_plug
>>>  pc_cpu_plug
>>>  pc_possible_cpu_arch_ids
>>> 
>>> and pc_cpus_init() for initial cpu creation with above callbacks in use
>>> 
>> Thanks, I will see it. :)
>> 
>>>> 
>>>> Currently, when KVM is enabled and add a CPU with QMP command, QEMU
>>>> reports error "kvm_init_vcpu failed: Device or resourc busy". KVM can't
>>>> create a new CPU when vgic has been initialized and irqchip_in_kernel in
>>>> function kvm_arch_vcpu_create. It needs to change KVM code in the future.  
>>> if KVM isn't capable do it yet, then qemu should refuse cpu hotplug if running
>>> with KVM accelarator and allow it only in TCG mode.  
>> 
>> OK, I will add an assertion to allow hotplug only in TCG mode.
> instead of assert which will crash guest on hotplug,
> just disable hotplug gracefully (for example set error in pre_plug handler)

OK, got it.

> 
>> 
>>> 
>>>> 
>>>> Li Zhang (3):
>>>>  arm/virt: Refine fdt_add_cpu_nodes code
>>>>  arm/virt: Refine code of machvirt_init
>>>>  arm/virt: Implement hot_add_cpu interface
>>>> 
>>>> hw/arm/virt.c | 344 ++++++++++++++++++++++++++++++++++------------------------
>>>> 1 file changed, 202 insertions(+), 142 deletions(-)
>>>> 
>>> 
>> 
>> 
>> 
> 

      reply	other threads:[~2017-05-30  3:44 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-26  9:21 [Qemu-devel] [PATCH 0/3] arm/virt: refine virt.c code and implement hot_add_cpu interface Li Zhang
2017-05-26  9:21 ` [Qemu-devel] [PATCH 1/3] arm/virt: Refine fdt_add_cpu_nodes code Li Zhang
2017-05-26  9:21 ` [Qemu-devel] [PATCH 2/3] arm/virt: Refine code of machvirt_init Li Zhang
2017-05-26  9:21 ` [Qemu-devel] [PATCH 3/3] arm/virt: Implement hot_add_cpu interface Li Zhang
2017-05-26 11:21 ` [Qemu-devel] [PATCH 0/3] arm/virt: refine virt.c code and implement " Igor Mammedov
2017-05-27  2:32   ` Li Zhang
2017-05-29 10:43     ` Igor Mammedov
2017-05-30  3:43       ` Li Zhang [this message]

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=1B0ED5FF-7254-41AD-B53F-B7EE201C2A15@gmail.com \
    --to=zhlcindy@gmail.com \
    --cc=imammedo@redhat.com \
    --cc=li.zhang@hxt-semitech.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.