From: Luiz Capitulino <lcapitulino@redhat.com>
To: Igor Mammedov <imammedo@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 11/12 v3] qmp: add cpu-add qmp command
Date: Wed, 27 Mar 2013 08:58:45 -0400 [thread overview]
Message-ID: <20130327085845.79d5447e@redhat.com> (raw)
In-Reply-To: <1364316462-3383-1-git-send-email-imammedo@redhat.com>
On Tue, 26 Mar 2013 17:47:42 +0100
Igor Mammedov <imammedo@redhat.com> wrote:
> Signed-off-by: Igor Mammedov <imammedo@redhat.com>
> ---
> v3:
> * it appears that 'online/offline' in cpu-set are confusing people
> with what command actually does and users might have to distinguish
> if 'offline' is not implemented by parsing error message. To simplify
> things replace cpu-set with cpu-add command to show more clear what
> command does and just add cpu-del when CPU remove is implemented.
>
> v2:
> * s/cpu_set/cpu-set/
> * qmp doc style fix
> * use bool type instead of opencodding online/offline string
> suggested-by: Eric Blake <eblake@redhat.com>
> ---
> include/sysemu/sysemu.h | 2 ++
> qapi-schema.json | 11 +++++++++++
> qmp-commands.hx | 23 +++++++++++++++++++++++
> qmp.c | 5 +++++
> stubs/Makefile.objs | 1 +
> stubs/do_cpu_hot_add.c | 7 +++++++
> 6 files changed, 49 insertions(+)
> create mode 100644 stubs/do_cpu_hot_add.c
Personally, I'd prefer this patch squashed into the next one, but anyway:
Acked-by: Luiz Capitulino <lcapitulino@redhat.com>
>
> diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
> index 4b8f721..8bcaf26 100644
> --- a/include/sysemu/sysemu.h
> +++ b/include/sysemu/sysemu.h
> @@ -156,6 +156,8 @@ void drive_hot_add(Monitor *mon, const QDict *qdict);
> void qemu_register_cpu_add_notifier(Notifier *notifier);
> void qemu_system_cpu_hotplug_request(uint32_t id);
>
> +void do_cpu_hot_add(const int64_t id, Error **errp);
> +
> /* pcie aer error injection */
> void pcie_aer_inject_error_print(Monitor *mon, const QObject *data);
> int do_pcie_aer_inject_error(Monitor *mon,
> diff --git a/qapi-schema.json b/qapi-schema.json
> index af499bd..3a2f273 100644
> --- a/qapi-schema.json
> +++ b/qapi-schema.json
> @@ -1385,6 +1385,17 @@
> { 'command': 'cpu', 'data': {'index': 'int'} }
>
> ##
> +# @cpu-add
> +#
> +# Adds CPU with specified id
> +#
> +# @id: cpu id of CPU to be created
> +#
> +# Returns: Nothing on success
> +##
> +{ 'command': 'cpu-add', 'data': {'id': 'int'} }
> +
> +##
> # @memsave:
> #
> # Save a portion of guest memory to a file.
> diff --git a/qmp-commands.hx b/qmp-commands.hx
> index 2051fcb..4876393 100644
> --- a/qmp-commands.hx
> +++ b/qmp-commands.hx
> @@ -407,6 +407,29 @@ Example:
> EQMP
>
> {
> + .name = "cpu-add",
> + .args_type = "id:i",
> + .mhandler.cmd_new = qmp_marshal_input_cpu_add,
> + },
> +
> +SQMP
> +cpu-add
> +-------
> +
> +Adds virtual cpu
> +
> +Arguments:
> +
> +- "id": cpu id (json-int)
> +
> +Example:
> +
> +-> { "execute": "cpu-add", "arguments": { "id": 2 } }
> +<- { "return": {} }
> +
> +EQMP
> +
> + {
> .name = "memsave",
> .args_type = "val:l,size:i,filename:s,cpu:i?",
> .mhandler.cmd_new = qmp_marshal_input_memsave,
> diff --git a/qmp.c b/qmp.c
> index 55b056b..978d956 100644
> --- a/qmp.c
> +++ b/qmp.c
> @@ -108,6 +108,11 @@ void qmp_cpu(int64_t index, Error **errp)
> /* Just do nothing */
> }
>
> +void qmp_cpu_add(int64_t id, Error **errp)
> +{
> + do_cpu_hot_add(id, errp);
> +}
> +
> #ifndef CONFIG_VNC
> /* If VNC support is enabled, the "true" query-vnc command is
> defined in the VNC subsystem */
> diff --git a/stubs/Makefile.objs b/stubs/Makefile.objs
> index 6a492f5..4154a2b 100644
> --- a/stubs/Makefile.objs
> +++ b/stubs/Makefile.objs
> @@ -26,3 +26,4 @@ stub-obj-$(CONFIG_WIN32) += fd-register.o
> stub-obj-y += resume_vcpu.o
> stub-obj-y += get_icc_bus.o
> stub-obj-y += qemu_system_cpu_hotplug_request.o
> +stub-obj-y += do_cpu_hot_add.o
> diff --git a/stubs/do_cpu_hot_add.c b/stubs/do_cpu_hot_add.c
> new file mode 100644
> index 0000000..1f6d7a6
> --- /dev/null
> +++ b/stubs/do_cpu_hot_add.c
> @@ -0,0 +1,7 @@
> +#include "qapi/error.h"
> +#include "sysemu/sysemu.h"
> +
> +void do_cpu_hot_add(const int64_t id, Error **errp)
> +{
> + error_setg(errp, "Not implemented");
> +}
prev parent reply other threads:[~2013-03-27 12:58 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-26 16:47 [Qemu-devel] [PATCH 11/12 v3] qmp: add cpu-add qmp command Igor Mammedov
2013-03-26 16:54 ` Eric Blake
2013-03-26 17:03 ` Igor Mammedov
2013-03-27 12:58 ` Luiz Capitulino [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=20130327085845.79d5447e@redhat.com \
--to=lcapitulino@redhat.com \
--cc=imammedo@redhat.com \
--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.