From: Igor Mammedov <imammedo@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
Jiri Denemark <jdenemar@redhat.com>,
qemu-devel@nongnu.org, Markus Armbruster <armbru@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2] qapi: report the default CPU type for each machine
Date: Thu, 4 Jul 2019 16:33:03 +0200 [thread overview]
Message-ID: <20190704163303.329b034b@redhat.com> (raw)
In-Reply-To: <20190612114125.22060-1-berrange@redhat.com>
On Wed, 12 Jun 2019 13:41:25 +0200
Daniel P. Berrangé <berrange@redhat.com> wrote:
> When user doesn't request any explicit CPU model with libvirt or QEMU,
> a machine type specific CPU model is picked. Currently there is no way
> to determine what this QEMU built-in default is, so libvirt cannot
> report this back to the user in the XML config.
>
> This extends the "query-machines" QMP command so that it reports the
> default CPU model typename for each machine.
>
> Reviewed-by: Eric Blake <eblake@redhat.com>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
we probably need to allow feed it back to QEMU -cpu directly
for all machines (currently it will work only with a handfull of them)
something like:
diff --git a/exec.c b/exec.c
index e7622d1956..ea4d2d74a6 100644
--- a/exec.c
+++ b/exec.c
@@ -999,11 +999,14 @@ const char *parse_cpu_option(const char *cpu_option)
exit(1);
}
- oc = cpu_class_by_name(CPU_RESOLVING_TYPE, model_pieces[0]);
- if (oc == NULL) {
- error_report("unable to find CPU model '%s'", model_pieces[0]);
- g_strfreev(model_pieces);
- exit(EXIT_FAILURE);
+ oc = object_class_by_name(model_pieces[0]);
+ if (!oc) {
+ oc = cpu_class_by_name(CPU_RESOLVING_TYPE, model_pieces[0]);
+ if (oc == NULL) {
+ error_report("unable to find CPU model '%s'", model_pieces[0]);
+ g_strfreev(model_pieces);
+ exit(EXIT_FAILURE);
+ }
}
cpu_type = object_class_get_name(oc);
> ---
>
> Changed in v2:
>
> - Fix qapi docs version tag
>
> qapi/misc.json | 6 +++++-
> vl.c | 4 ++++
> 2 files changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/qapi/misc.json b/qapi/misc.json
> index 8b3ca4fdd3..9e2dedd938 100644
> --- a/qapi/misc.json
> +++ b/qapi/misc.json
> @@ -2018,12 +2018,16 @@
> #
> # @hotpluggable-cpus: cpu hotplug via -device is supported (since 2.7.0)
> #
> +# @default-cpu-type: default CPU model typename if none is requested via
> +# the -cpu argument. (since 4.1)
> +#
> # Since: 1.2.0
> ##
> { 'struct': 'MachineInfo',
> 'data': { 'name': 'str', '*alias': 'str',
> '*is-default': 'bool', 'cpu-max': 'int',
> - 'hotpluggable-cpus': 'bool'} }
> + 'hotpluggable-cpus': 'bool',
> + '*default-cpu-type': 'str'} }
>
> ##
> # @query-machines:
> diff --git a/vl.c b/vl.c
> index 201144b162..b2de329bd2 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -1519,6 +1519,10 @@ MachineInfoList *qmp_query_machines(Error **errp)
> info->name = g_strdup(mc->name);
> info->cpu_max = !mc->max_cpus ? 1 : mc->max_cpus;
> info->hotpluggable_cpus = mc->has_hotpluggable_cpus;
> + if (mc->default_cpu_type) {
> + info->default_cpu_type = g_strdup(mc->default_cpu_type);
> + info->has_default_cpu_type = true;
> + }
>
> entry = g_malloc0(sizeof(*entry));
> entry->value = info;
prev parent reply other threads:[~2019-07-04 14:36 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-12 11:41 [Qemu-devel] [PATCH v2] qapi: report the default CPU type for each machine Daniel P. Berrangé
2019-07-04 14:17 ` Daniel P. Berrangé
2019-07-04 14:33 ` Igor Mammedov [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=20190704163303.329b034b@redhat.com \
--to=imammedo@redhat.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=jdenemar@redhat.com \
--cc=pbonzini@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.