[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6] docs: add cpu-hotplug.txt
From: |
Bharata B Rao |
Subject: |
Re: [Qemu-devel] [PATCH v6] docs: add cpu-hotplug.txt |
Date: |
Wed, 17 Aug 2016 19:17:48 +0530 |
User-agent: |
Mutt/1.6.1 (2016-04-27) |
On Wed, Aug 17, 2016 at 03:01:06PM +0800, Dou Liyang wrote:
> This document describes how to use cpu hotplug in QEMU.
>
> Signed-off-by: Dou Liyang <address@hidden>
> ---
> Change log v5 -> v6
> From drew's advice
> 1. Fix some spelling and grammar mistakes
>
> Change log v4 -> v5
> 1. add an example for sPAPR
> From Bharata's advice
> 1. Fix the examples
>
> Change log v3 -> v4
> From David's advice
> 1. add spapr examples
> 2. Fix some comment
> From drew's advice
> 1. Fix some syntax
>
> Change log v2 -> v3:
> From drew's advice:
> 1. modify the examples.
> 2. Fix some syntax.
>
> Change log v1 -> v2:
> From Fam's advice:
> 1. Fix some comment.
>
> Change log v1:
> From Igor's advice:
> 1. Remove any mentioning of apic-id from the document.
> 2. Remove the "device_del qom_path" from the CPU hot-unplug.
> 3. Fix some comment.
>
> docs/cpu-hotplug.txt | 140
> +++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 140 insertions(+)
> create mode 100644 docs/cpu-hotplug.txt
>
> diff --git a/docs/cpu-hotplug.txt b/docs/cpu-hotplug.txt
> new file mode 100644
> index 0000000..c9a16f6
> --- /dev/null
> +++ b/docs/cpu-hotplug.txt
> @@ -0,0 +1,140 @@
> +QEMU CPU hotplug
> +================
> +
> +This document explains how to use the CPU hotplug feature in QEMU,
> +which regards the CPU as a device, using -device/device_add and
> +device_del.
> +
> +QEMU support was merged for 2.7.
> +
> +Guest support is required for CPU hotplug to work.
> +
> +CPU hot-plug
> +------------
> +
> +In order to be able to hotplug CPUs, QEMU has to be told the maximum
> +number of CPUs which the guest can have. This is done at startup time
> +by means of the -smp command-line option, which has the following
> +format:
> +
> + -smp [cpus=]n[,maxcpus=cpus][,cores=cores][,threads=threads]
> + [,sockets=sockets]
> +
> +Where,
> +
> + - "cpus" sets the number of CPUs to 'n' [default=1].
> + - "maxcpus" sets the maximum number of CPUs, including offline VCPUs
> + for hotplug.
> + - "sockets" sets the number of discrete sockets in the system.
> + - "cores" sets the number of CPU cores on one socket.
> + - "threads" sets the number of threads on one CPU core.
> +
> +For example, the following command-line:
> +
> + qemu [...] -smp 4,maxcpus=8,sockets=2,cores=2,threads=2
> +
> +creates a guest with 4 VCPUs and supports up to 8 VCPUs. The CPU topology
> +is sockets (2) * cores (2) * threads (2) and should compute a number of
> +slots exactly equal to maxcpus. A computed number of slots greater than
> +maxcpus will result in error. When the guest finishes loading, the guest
> +will see 4 VCPUs. More of this below.
> +
> +Query available CPU objects
> +---------------------------
> +
> +To add a VCPU, it must be identified by socket-id, core-id, and/or
> +thread-id parameters.
> +
> +Before adding the VCPU, we should know the topology parameters,so
> +that we can find the available location (socket,core,thread) for a
> +new VCPU.
> +
> +Use the HMP command "info hotpluggable-cpus" to obtain them, for example:
> +
> + (qemu) info hotpluggable-cpus
> +
> +lists all hot-pluggable CPUs. Such as this:
lists all CPUs including the present and possible hot-pluggable CPUs.
> +
> + ...
> + type: "qemu64-x86_64-cpu"
> + vcpus_count: "1"
> + CPUInstance Properties:
> + socket-id: "1"
> + core-id: "0"
> + thread-id: "0"
> + ...
> +
> +Or
> +
> + ...
> + type: "POWER7_v2.3-spapr-cpu-core"
> + vcpus_count: "1"
> + CPUInstance Properties:
> + core-id: "2"
There is another property called "qom_path" which if present indicates
that the listed CPU is already present or plugged-in. Hotpluggable CPUs
are those which don't have "qom_path" set.
May be useful to explicitly bring this out in the doc ?
Regards,
Bharata.