From: Eduardo Habkost <ehabkost@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: libvir-list@redhat.com, Jiri Denemark <jdenemar@redhat.com>,
qemu-devel@nongnu.org, Gleb Natapov <gleb@redhat.com>
Subject: Re: [Qemu-devel] [QEMU PATCH 0/3] versioned CPU models / per-machine-type aliases
Date: Thu, 26 Jul 2012 09:53:33 -0400 [thread overview]
Message-ID: <20120726135333.GA27859@shell.eng.rdu.redhat.com> (raw)
In-Reply-To: <87boj3v23m.fsf@codemonkey.ws>
On Wed, Jul 25, 2012 at 06:43:25PM -0500, Anthony Liguori wrote:
> Eduardo Habkost <ehabkost@redhat.com> writes:
>
> > Hi,
> >
> > This is the first try at a simple system to make the CPU model definitions
> > versioned (to allow them to get bug fixes while allowing migration from older
> > versions and keeping command-line compatibility), and per- machine-type aliases
> > for compatibility.
> >
> > The lack of CPU model versioning is blocking multiple bug fixes that are
> > necessary on CPU model definitions, but can't be included today because they
> > would break migration.
> >
> > Later, after this gets in (or at least gets some feedback), I plan to send a
> > proposal for a machine-friendly CPU feature / CPU model probing interface that
> > libvirt could use.
>
> This isn't the right approach. The CPU properties should be exposed as
> QOM properties which then allows the machine type globals to be used to
> control stuff like this.
I would like to use global properties for this, but the obstacles I have
found were:
- As far as I can see in the code, global properties are usable only by
qdev objects, and CPUs were not qdevfied yet
- The per-machine-type properties I need to set are for CPU models, not
CPUs.
- For example: if we fix the Nehalem CPU model by changing the "level"
field, we need to make the pc-1.1 and lower machine-types to keep
the old "level" value, but only on the Nehalem CPU model
>
> Is there a specific set of properties you want to control? As long as
> it's a small number, we can start with that and get something in shape
> for 1.2.
The main bugs that need this to allow us to fix it are:
- Some CPU models have a too low "level" field and need it to be
increased on newer machine-types (and kept the same on older
machine-types).
- Some subtle bugs need the "model" field to be changed, too. See:
http://lists.gnu.org/archive/html/qemu-devel/2011-05/msg02545.html
- Some features may need to be added or removed from some CPU models.
- Example: SandyBridge has tsc-deadline enabled on the config file,
but it simply does not enable the feature on qemu-1.1. The fix will
require disabling tsc-deadline on the pc-1.1 machine type.
Anyway, I think the number of properties is not necessarily a problem:
the problem is to have the proper infra-structure so the CPU
model/machine-type compatibility can be implemented using global
properties. If we have something in place to allow that, supporting 3 or
20 properties seems to be equally feasible.
>
> Regards,
>
> Anthony Liguori
>
> >
> > Eduardo Habkost (3):
> > vl.c: extract qemu_machine_init() function
> > per-machine-type CPU model alias system
> > x86: pc: versioned CPU model names & compatibility aliases
> >
> > hw/boards.h | 13 +++++++++
> > hw/pc_piix.c | 56 ++++++++++++++++++++++++++++++++++++
> > sysconfigs/target/cpus-x86_64.conf | 18 ++++++------
> > vl.c | 28 +++++++++++++++++-
> > 4 files changed, 105 insertions(+), 10 deletions(-)
> >
> > --
> > 1.7.10.4
next prev parent reply other threads:[~2012-07-26 13:53 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-25 18:18 [Qemu-devel] [QEMU PATCH 0/3] versioned CPU models / per-machine-type aliases Eduardo Habkost
2012-07-25 18:18 ` [Qemu-devel] [QEMU PATCH 1/3] vl.c: extract qemu_machine_init() function Eduardo Habkost
2012-07-25 22:18 ` [Qemu-devel] [libvirt] " Eric Blake
2012-07-30 16:19 ` Eduardo Habkost
2012-07-25 18:18 ` [Qemu-devel] [QEMU PATCH 2/3] per-machine-type CPU model alias system Eduardo Habkost
2012-07-25 22:46 ` Andreas Färber
2012-07-25 18:18 ` [Qemu-devel] [QEMU PATCH 3/3] x86: pc: versioned CPU model names & compatibility aliases Eduardo Habkost
2012-07-25 22:52 ` Andreas Färber
2012-07-26 14:24 ` Eduardo Habkost
2012-07-26 14:31 ` Andreas Färber
2012-07-26 14:48 ` Eduardo Habkost
2012-07-31 13:22 ` Igor Mammedov
2012-07-31 13:44 ` Eduardo Habkost
2012-07-26 14:33 ` Jiri Denemark
2012-07-26 14:54 ` Eduardo Habkost
2012-07-25 23:43 ` [Qemu-devel] [QEMU PATCH 0/3] versioned CPU models / per-machine-type aliases Anthony Liguori
2012-07-26 13:53 ` Eduardo Habkost [this message]
2012-07-26 14:06 ` Andreas Färber
2012-07-26 14:29 ` 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=20120726135333.GA27859@shell.eng.rdu.redhat.com \
--to=ehabkost@redhat.com \
--cc=anthony@codemonkey.ws \
--cc=gleb@redhat.com \
--cc=jdenemar@redhat.com \
--cc=libvir-list@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).