From: Eduardo Habkost <ehabkost@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: mimu@linux.vnet.ibm.com, qemu-devel@nongnu.org,
"Alexander Graf" <agraf@suse.de>,
borntraeger@de.ibm.com, "Igor Mammedov" <imammedo@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Jiri Denemark" <jdenemar@redhat.com>,
"Andreas Färber" <afaerber@suse.de>,
rth@twiddle.net
Subject: Re: [Qemu-devel] [PATCH 0/2] target-i386: "custom" CPU model + script to dump existing CPU models
Date: Wed, 24 Jun 2015 11:24:46 -0300 [thread overview]
Message-ID: <20150624142446.GU3134@thinpad.lan.raisama.net> (raw)
In-Reply-To: <20150623213445.GA17756@redhat.com>
On Tue, Jun 23, 2015 at 11:34:45PM +0200, Michael S. Tsirkin wrote:
> On Tue, Jun 23, 2015 at 02:11:22PM -0300, Eduardo Habkost wrote:
> > Even if it is a bug fix. If it is a change that can make the VM
> > unrunnable, it needs to be controlled by a separate flag, not by the
> > machine-type.
>
> I agree - command line compatibility is important. But we are supposed
> to provide that. I am surprised that libvirt suddenly wants to avoid
> some command line flags because they are not stable. IMHO we did something
> wrong here if so. Maybe there was a valid reason for it. But then won't
> it apply to libvirt as well?
Maybe we are having the same misunderstanding here: the problem is not
compatibility/stability of existing machines, but the kind of
(intentional) changes introduced in _new_ machines (when the -machine
argument is changed). There are two kinds of changes introduced in new
machines:
1) Guest-side-only ABI changes: those are OK, libvirt normally ignore
them, they can't make a VM not-runnable.
2) Changes in the host-side dependencies: those need to be more carefully
controlled by libvirt. That's where CPU features are special: all CPU
features depend KVM-side features, and enabling them by default on
new machines makes it impossible for libvirt to know/report in
advance what's necessary to make a VM runnable and to implement their
existing runnability APIs[1].
Unless we guarantee that QEMU would never introduce type-(2) changes in
new machines (which I don't think will ever happen because that means
never changing existing CPU models in QEMU), libvirt needs to control
CPU features individually (that's why they need -cpu custom).
>
> Now, if people want to update CPU models outside the QEMU binary,
> that might be doable simply by moving them to a separate package,
> with a text file that QEMU reads at startup.
You seem to be describing exactly what is made possible by
"-cpu custom -readconfig <cpu-config-file>"
[1] http://libvirt.org/html/libvirt-libvirt-host.html#virConnectCompareCPU
(See the cover letter of this series)
--
Eduardo
next prev parent reply other threads:[~2015-06-24 14:24 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-08 19:07 [Qemu-devel] [PATCH 0/2] target-i386: "custom" CPU model + script to dump existing CPU models Eduardo Habkost
2015-06-08 19:07 ` [Qemu-devel] [PATCH 1/2] target-i386: Introduce "-cpu custom" Eduardo Habkost
2015-06-08 19:07 ` [Qemu-devel] [PATCH 2/2] scripts: x86-cpu-model-dump script Eduardo Habkost
2015-06-08 20:18 ` [Qemu-devel] [PATCH 0/2] target-i386: "custom" CPU model + script to dump existing CPU models Jiri Denemark
2015-06-09 8:56 ` Daniel P. Berrange
2015-06-09 13:16 ` Eduardo Habkost
2015-06-23 12:32 ` Andreas Färber
2015-06-23 15:08 ` Eduardo Habkost
2015-06-23 15:32 ` Michael S. Tsirkin
2015-06-23 15:58 ` Eduardo Habkost
2015-06-23 16:15 ` Andreas Färber
2015-06-23 16:25 ` Daniel P. Berrange
2015-06-23 16:33 ` Michael S. Tsirkin
2015-06-23 16:38 ` Eduardo Habkost
2015-06-23 16:44 ` Andreas Färber
2015-06-23 17:08 ` Eduardo Habkost
2015-06-23 17:18 ` Andreas Färber
2015-06-23 17:27 ` Daniel P. Berrange
2015-06-23 17:41 ` Andreas Färber
2015-06-23 17:45 ` Eduardo Habkost
2015-06-23 17:58 ` Andreas Färber
2015-06-23 18:05 ` Daniel P. Berrange
2015-06-23 18:11 ` Eduardo Habkost
2015-06-23 17:55 ` Daniel P. Berrange
2015-06-23 17:39 ` Eduardo Habkost
2015-06-23 18:35 ` Andreas Färber
2015-06-23 19:25 ` Eduardo Habkost
2015-06-23 19:41 ` Andreas Färber
2015-06-23 19:53 ` Eduardo Habkost
2015-06-23 20:26 ` Eduardo Habkost
2015-06-23 21:38 ` Michael S. Tsirkin
2015-06-23 16:42 ` Daniel P. Berrange
2015-06-23 16:47 ` Andreas Färber
2015-06-23 17:11 ` Eduardo Habkost
2015-06-23 21:34 ` Michael S. Tsirkin
2015-06-24 14:24 ` Eduardo Habkost [this message]
2015-06-24 14:37 ` Michael S. Tsirkin
2015-06-24 15:44 ` [Qemu-devel] Not introducing new host-side requirements on new machine-type versions (was Re: [PATCH 0/2] target-i386: "custom" CPU model + script to dump existing CPU models) Eduardo Habkost
2015-06-24 15:58 ` Andreas Färber
2015-06-24 16:08 ` Eduardo Habkost
2015-06-24 16:15 ` Andreas Färber
2015-06-24 15:59 ` Paolo Bonzini
2015-06-23 17:13 ` [Qemu-devel] [PATCH 0/2] target-i386: "custom" CPU model + script to dump existing CPU models Daniel P. Berrange
2015-06-23 17:29 ` Andreas Färber
2015-06-23 17:42 ` Eduardo Habkost
2015-06-23 17:55 ` Andreas Färber
2015-06-23 17:58 ` Daniel P. Berrange
2015-06-23 21:28 ` Michael S. Tsirkin
2015-06-24 14:18 ` Eduardo Habkost
2015-06-24 14:24 ` Michael S. Tsirkin
2015-06-23 21:26 ` Michael S. Tsirkin
2015-06-23 21:23 ` Michael S. Tsirkin
2015-06-24 8:52 ` Daniel P. Berrange
2015-06-24 10:31 ` Michael S. Tsirkin
2015-06-24 14:16 ` Eduardo Habkost
2015-06-24 14:19 ` Michael S. Tsirkin
2015-06-24 14:35 ` Andreas Färber
2015-06-24 14:57 ` Michael S. Tsirkin
2015-06-24 15:43 ` Andreas Färber
2015-06-24 14:38 ` Paolo Bonzini
2015-06-24 14:54 ` Peter Maydell
2015-06-24 14:56 ` Paolo Bonzini
2015-06-24 15:58 ` Eduardo Habkost
2015-06-24 16:00 ` Paolo Bonzini
2015-06-23 16:40 ` Andreas Färber
2015-06-23 16:53 ` Daniel P. Berrange
2015-06-23 17:10 ` Andreas Färber
2015-06-23 17:24 ` Eduardo Habkost
2015-06-23 17:31 ` Daniel P. Berrange
2015-06-23 16:32 ` Eduardo Habkost
2015-06-23 17:01 ` Andreas Färber
2015-06-23 15:51 ` Daniel P. Berrange
2015-06-23 15:56 ` Michael S. Tsirkin
2015-06-23 16:00 ` Daniel P. Berrange
2015-06-23 16:30 ` Michael S. Tsirkin
2015-06-24 9:20 ` Jiri Denemark
2015-06-24 10:21 ` Michael S. Tsirkin
2015-06-24 10:31 ` Daniel P. Berrange
2015-06-24 10:40 ` Michael S. Tsirkin
2015-06-24 10:32 ` Paolo Bonzini
2015-06-16 17:40 ` Eduardo Habkost
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=20150624142446.GU3134@thinpad.lan.raisama.net \
--to=ehabkost@redhat.com \
--cc=afaerber@suse.de \
--cc=agraf@suse.de \
--cc=borntraeger@de.ibm.com \
--cc=imammedo@redhat.com \
--cc=jdenemar@redhat.com \
--cc=mimu@linux.vnet.ibm.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/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.