All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Durrant <Paul.Durrant@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	"Andreas Färber" <afaerber@suse.de>,
	"Stefano Stabellini" <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Qemu-devel] [Xen-devel] [PATCH] Remove hardcoded xen-platform device initialization
Date: Wed, 19 Jun 2013 09:11:28 +0000	[thread overview]
Message-ID: <9AAE0902D5BC7E449B7C8E4E778ABCD004B596@LONPEX01CL01.citrite.net> (raw)
In-Reply-To: <1371632169.22783.81.camel@zakaz.uk.xensource.com>

> -----Original Message-----
> From: Ian Campbell
> Sent: 19 June 2013 09:56
> To: Paolo Bonzini
> Cc: Andreas Färber; Stefano Stabellini; Paul Durrant; xen-
> devel@lists.xen.org; qemu-devel@nongnu.org
> Subject: Re: [Qemu-devel] [Xen-devel] [PATCH] Remove hardcoded xen-
> platform device initialization
> 
> On Wed, 2013-06-19 at 10:41 +0200, Paolo Bonzini wrote:
> > Il 19/06/2013 10:29, Ian Campbell ha scritto:
> > >> > You could check for existence of the pc-i440fx-1.6 machine and infer
> > >> > that it is at least v1.6 (might break in some distant future of course
> > >> > and for current git commits until your changes get merged).
> > > Actually, this raises an interesting point. AIUI "pc" is simply and
> > > alias for the most recent "pc-X.Y" and "pc-X.Y" is present to allow for
> > > qemu "upgrading" the set of emulated hardware, as in it represents
> > > changing the set of emulated peripherals, not just fixing bugs in the
> > > emulation etc, is that right?
> >
> > Usually it represents adding _features_ to the emulation.  There are
> > some cases where the set of emulated peripherals change (e.g. pvpanic
> > added in 1.5), but it's the exception rather than the rule.  There are
> > also some cases of bug-compatibility, but again they're not the most
> > common use of versioned machine types.
> >
> > You do not know how older guests react to those new features, and you
> > want to prevent moving guests to older versions that lack some features.
> >  For these reasons, libvirt always sticks to the alias target that was
> > found at creation time.
> 
> I had a grep around libvirt wondering how it handled this and didn't
> find it. The approach you describe makes perfect sense when you have a
> persistent config. The case with xl is more like your example 5:
> 
> > Example 5: you use "virsh create" to start a VM based on an XML file,
> > rather than "virsh define"+"virsh start" as in examples 1-2.  You lose
> > any guarantee that hardware does not change.  Not frowned upon as much
> > as example 4, since the VM is supposed to be transient.
> 
> For something like xapi we'd likely want to support some sort of model
> similar to libvirt, so whatever we do at the libxl layer needs to
> consider both approaches.
> 
> > It would require two QEMU invocations per "xl create".  However, most of
> > the startup time of QEMU is loading dynamic libraries.  A good deal of
> > that time amortizes well over two invocations of QEMU.
> 
> Not to mention that on a system already running a domain or two there is
> a good chance that at least the relevant bits of QEMU are already in
> RAM.
> 
> In fact, I wonder if we could just query the qemu which is running to
> provide dom0 itself with qdisk services, at least in the case where the
> guest is configured to use the same version of qemu.
> 

...in which case can we agree to accept an undocumented override ability in the cfg file. If we're going to introduce some form of auto-selection then we should at least allow developers to bypass it if they need to. I'm happy to get rid the the enumeration, and go for a freeform string which gets passed as the -machine optval if it's specified.

  Paul

  reply	other threads:[~2013-06-19  9:11 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-13  9:50 [Qemu-devel] [PATCH] Remove hardcoded xen-platform device initialization Paul Durrant
2013-06-13 17:33 ` Stefano Stabellini
2013-06-13 17:44   ` Ian Campbell
2013-06-13 17:44   ` [Qemu-devel] [Xen-devel] " Ian Campbell
2013-06-13 18:02     ` Paolo Bonzini
2013-06-13 18:02     ` [Qemu-devel] [Xen-devel] " Paolo Bonzini
2013-06-14  9:00       ` Paul Durrant
2013-06-14 10:38         ` [Qemu-devel] " Paul Durrant
2013-06-14 10:38         ` [Qemu-devel] [Xen-devel] " Paul Durrant
2013-06-14 13:50           ` Paolo Bonzini
2013-06-14 13:50           ` [Qemu-devel] [Xen-devel] " Paolo Bonzini
2013-06-14 14:11             ` Paul Durrant
2013-06-14 14:11             ` [Qemu-devel] [Xen-devel] " Paul Durrant
2013-06-14 14:57               ` Paolo Bonzini
2013-06-14 14:57               ` [Qemu-devel] [Xen-devel] " Paolo Bonzini
2013-06-14 15:10                 ` Paul Durrant
2013-06-14 15:10                 ` [Qemu-devel] [Xen-devel] " Paul Durrant
2013-06-18 18:56                   ` Stefano Stabellini
2013-06-18 18:56                   ` [Qemu-devel] [Xen-devel] " Stefano Stabellini
2013-06-18 19:12                     ` Paolo Bonzini
2013-06-18 19:12                     ` [Qemu-devel] [Xen-devel] " Paolo Bonzini
2013-06-18 19:35                       ` Stefano Stabellini
2013-06-18 21:38                         ` [Qemu-devel] " Andreas Färber
2013-06-18 21:38                         ` [Qemu-devel] [Xen-devel] " Andreas Färber
2013-06-19  8:29                           ` [Qemu-devel] " Ian Campbell
2013-06-19  8:29                           ` [Qemu-devel] [Xen-devel] " Ian Campbell
2013-06-19  8:37                             ` Paul Durrant
2013-06-19  8:37                             ` [Qemu-devel] " Paul Durrant
2013-06-19  8:41                             ` [Qemu-devel] [Xen-devel] " Paolo Bonzini
2013-06-19  8:56                               ` [Qemu-devel] " Ian Campbell
2013-06-19  8:56                               ` [Qemu-devel] [Xen-devel] " Ian Campbell
2013-06-19  9:11                                 ` Paul Durrant [this message]
2013-06-19  9:11                                 ` [Qemu-devel] " Paul Durrant
2013-06-19 12:51                                 ` Paolo Bonzini
2013-06-19 12:51                                 ` [Qemu-devel] [Xen-devel] " Paolo Bonzini
2013-06-19 13:47                                 ` [Qemu-devel] " Stefano Stabellini
2013-06-19 13:47                                 ` [Qemu-devel] [Xen-devel] " Stefano Stabellini
2013-06-19  8:41                             ` [Qemu-devel] " Paolo Bonzini
2013-06-19  8:27                         ` [Qemu-devel] [Xen-devel] " Paul Durrant
2013-06-19 13:55                           ` Stefano Stabellini
2013-06-19 13:55                           ` [Qemu-devel] [Xen-devel] " Stefano Stabellini
2013-06-19 15:09                             ` Ian Campbell
2013-06-19 15:09                             ` [Qemu-devel] [Xen-devel] " Ian Campbell
2013-06-19  8:27                         ` Paul Durrant
2013-06-18 19:35                       ` Stefano Stabellini
2013-06-19  8:11                     ` Ian Campbell
2013-06-19  8:11                     ` [Qemu-devel] [Xen-devel] " Ian Campbell
2013-06-19 13:53                       ` Stefano Stabellini
2013-06-19 14:00                         ` [Qemu-devel] " Paul Durrant
2013-06-19 14:00                         ` [Qemu-devel] [Xen-devel] " Paul Durrant
2013-06-19 16:27                           ` Stefano Stabellini
2013-06-20  7:32                             ` Paul Durrant
2013-06-20  7:32                             ` [Qemu-devel] " Paul Durrant
2013-06-19 16:27                           ` Stefano Stabellini
2013-06-19 13:53                       ` Stefano Stabellini
2013-06-14  9:00       ` Paul Durrant
2013-06-14  8:56     ` [Qemu-devel] [Xen-devel] " Paul Durrant
2013-06-14  8:56     ` [Qemu-devel] " Paul Durrant
2013-06-14  8:50   ` Paul Durrant
2013-06-14 13:52     ` Paolo Bonzini
2013-06-14 13:52     ` [Qemu-devel] " Paolo Bonzini
2013-06-14 13:57       ` Paul Durrant
2013-06-14 13:57       ` [Qemu-devel] " Paul Durrant
2013-06-14  8:50   ` Paul Durrant
2013-06-13 17:33 ` Stefano Stabellini

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=9AAE0902D5BC7E449B7C8E4E778ABCD004B596@LONPEX01CL01.citrite.net \
    --to=paul.durrant@citrix.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=Stefano.Stabellini@eu.citrix.com \
    --cc=afaerber@suse.de \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=xen-devel@lists.xen.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.