From: Luiz Capitulino <lcapitulino@redhat.com>
To: Michal Novotny <minovotn@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v3] New QMP command query-cpu-max and HMP command cpu_max
Date: Mon, 25 Mar 2013 14:37:06 -0400 [thread overview]
Message-ID: <20130325143706.02313db2@redhat.com> (raw)
In-Reply-To: <385f3a1ca045e1b008de2b880eca1c8cce2a5231.1364229059.git.minovotn@redhat.com>
On Mon, 25 Mar 2013 17:31:33 +0100
Michal Novotny <minovotn@redhat.com> wrote:
> These commands return the maximum number of CPUs supported by the
> currently running emulator instance, as defined in its QEMUMachine
> struct.
I've applied this patch to the QMP tree, but with one change (see below).
>
> Signed-off-by: Michal Novotny <minovotn@redhat.com>
> ---
> hmp-commands.hx | 14 ++++++++++++++
> hmp.c | 8 ++++++++
> hmp.h | 1 +
> qapi-schema.json | 11 +++++++++++
> qmp-commands.hx | 22 ++++++++++++++++++++++
> vl.c | 5 +++++
> 6 files changed, 61 insertions(+)
>
> diff --git a/hmp-commands.hx b/hmp-commands.hx
> index df44906..c976459 100644
> --- a/hmp-commands.hx
> +++ b/hmp-commands.hx
> @@ -690,6 +690,20 @@ Set the default CPU.
> ETEXI
>
> {
> + .name = "cpu_max",
> + .args_type = "",
> + .params = "",
> + .help = "Get maximum number of VCPUs supported by machine",
> + .mhandler.cmd = hmp_query_cpu_max,
> + },
> +
> +STEXI
> +@item cpu_max
> +@findex cpu_max
> +Returns the number of CPUs supported by the machine being emulated.
> +ETEXI
What you really want is an info command, like 'info cpu_max'. As I didn't
spot this in my first review (looks like I'm still sleeping, although it's
afternoon) I've made that change myself and applied the patch to the qmp tree.
Now, if you disagree I can drop it and we discuss the matter :)
> +
> + {
> .name = "mouse_move",
> .args_type = "dx_str:s,dy_str:s,dz_str:s?",
> .params = "dx dy [dz]",
> diff --git a/hmp.c b/hmp.c
> index b0a861c..205db8f 100644
> --- a/hmp.c
> +++ b/hmp.c
> @@ -748,6 +748,14 @@ void hmp_ringbuf_read(Monitor *mon, const QDict *qdict)
> g_free(data);
> }
>
> +void hmp_query_cpu_max(Monitor *mon, const QDict *qdict)
> +{
> + int cpu_max;
> +
> + cpu_max = qmp_query_cpu_max(NULL);
> + monitor_printf(mon, "Maximum number of CPUs is %d\n", cpu_max);
> +}
> +
> static void hmp_cont_cb(void *opaque, int err)
> {
> if (!err) {
> diff --git a/hmp.h b/hmp.h
> index 95fe76e..80e8b41 100644
> --- a/hmp.h
> +++ b/hmp.h
> @@ -42,6 +42,7 @@ void hmp_stop(Monitor *mon, const QDict *qdict);
> void hmp_system_reset(Monitor *mon, const QDict *qdict);
> void hmp_system_powerdown(Monitor *mon, const QDict *qdict);
> void hmp_cpu(Monitor *mon, const QDict *qdict);
> +void hmp_query_cpu_max(Monitor *mon, const QDict *qdict);
> void hmp_memsave(Monitor *mon, const QDict *qdict);
> void hmp_pmemsave(Monitor *mon, const QDict *qdict);
> void hmp_ringbuf_write(Monitor *mon, const QDict *qdict);
> diff --git a/qapi-schema.json b/qapi-schema.json
> index 088f4e1..a8187fd 100644
> --- a/qapi-schema.json
> +++ b/qapi-schema.json
> @@ -1832,6 +1832,17 @@
> { 'command': 'query-migrate-cache-size', 'returns': 'int' }
>
> ##
> +## @query-cpu-max
> +##
> +## query maximum number of CPUs supported by machine
> +##
> +## Returns: number of CPUs
> +##
> +## Since: 1.5
> +###
> +{ 'command': 'query-cpu-max', 'returns': 'int' }
> +
> +##
> # @ObjectPropertyInfo:
> #
> # @name: the name of the property
> diff --git a/qmp-commands.hx b/qmp-commands.hx
> index b370060..9c6b802 100644
> --- a/qmp-commands.hx
> +++ b/qmp-commands.hx
> @@ -385,6 +385,28 @@ Note: CPUs' indexes are obtained with the 'query-cpus' command.
> EQMP
>
> {
> + .name = "query-cpu-max",
> + .args_type = "",
> + .mhandler.cmd_new = qmp_marshal_input_query_cpu_max,
> + },
> +
> +SQMP
> +query-cpu-max
> +-------------
> +
> +Get the maximum CPUs supported by the machine being currently
> +emulated.
> +
> +Returns json-int.
> +
> +Example:
> +
> +-> { "execute": "query-cpu-max" }
> +<- { "return": 255 }
> +
> +EQMP
> +
> + {
> .name = "memsave",
> .args_type = "val:l,size:i,filename:s,cpu:i?",
> .mhandler.cmd_new = qmp_marshal_input_memsave,
> diff --git a/vl.c b/vl.c
> index aeed7f4..7643f16 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -662,6 +662,11 @@ StatusInfo *qmp_query_status(Error **errp)
> return info;
> }
>
> +int64_t qmp_query_cpu_max(Error **errp)
> +{
> + return current_machine->max_cpus;
> +}
> +
> /***********************************************************/
> /* real time host monotonic timer */
>
next prev parent reply other threads:[~2013-03-25 18:37 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-25 16:31 [Qemu-devel] [PATCH v3] New QMP command query-cpu-max and HMP command cpu_max Michal Novotny
2013-03-25 18:37 ` Luiz Capitulino [this message]
2013-03-26 10:48 ` Michal Novotny
2013-03-26 7:14 ` Paolo Bonzini
2013-03-26 7:24 ` Paolo Bonzini
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=20130325143706.02313db2@redhat.com \
--to=lcapitulino@redhat.com \
--cc=minovotn@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).