[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/3] arm/virt: refine virt.c code and implement
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [PATCH 0/3] arm/virt: refine virt.c code and implement hot_add_cpu interface |
Date: |
Mon, 29 May 2017 12:43:39 +0200 |
On Sat, 27 May 2017 10:32:33 +0800
Li Zhang <address@hidden> wrote:
> On Fri, May 26, 2017 at 7:21 PM, Igor Mammedov <address@hidden> wrote:
> > On Fri, 26 May 2017 17:21:05 +0800
> > Li Zhang <address@hidden> wrote:
> >
> >> From: Li Zhang <address@hidden>
> >>
> >> 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)
>
> >
> >>
> >> 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(-)
> >>
> >
>
>
>