qemu-devel
[Top][All Lists]
Advanced

[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(-)
> >>  
> >  
> 
> 
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]