qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] qmp: add query-qemu-capabilities


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCH] qmp: add query-qemu-capabilities
Date: Wed, 27 Feb 2019 17:12:18 +0000
User-agent: Mutt/1.10.1 (2018-07-13)

On Wed, Feb 27, 2019 at 03:25:25PM +0000, Daniel P. Berrangé wrote:
> On Wed, Feb 27, 2019 at 03:15:35PM +0000, Stefan Hajnoczi wrote:
> > On Tue, Feb 26, 2019 at 10:09:19AM +0100, Markus Armbruster wrote:
> > > Stefan Hajnoczi <address@hidden> writes:
> > > > On Mon, Feb 25, 2019 at 10:28:46AM +0100, Peter Krempa wrote:
> > > >> On Mon, Feb 25, 2019 at 09:50:26 +0100, Markus Armbruster wrote:
> > > >> > Stefan Hajnoczi <address@hidden> writes:
> > > >> Other than the above, this is a welcome improvement as I've personally
> > > >> ran into scenarios where a feature in qemu was fixed but it was
> > > >> impossible to detect whether given qemu version contains the fix as it
> > > >> did not have any influence on the QMP schema.
> > > >
> > > > I'd like to make things as simpler as possible, but no simpler :).
> > > >
> > > > The simplest option is that the advertised features are set in stone at
> > > > build time (e.g. selected with #ifdef if necessary).  But then we have
> > > > no way of selecting features at runtime (e.g. based on kernel features).
> > > >
> > > > What do you think?
> > > 
> > > I think we should map the problem space, identify cases with actual
> > > uses, then design a solution that covers them and can plausibly grow to
> > > cover cases we anticipate.
> > > 
> > > The migrate-with-cache-direct-off-on-linux case is compile-time static.
> > > 
> > > Do we have or have we had a case that is not compile-time static?
> > 
> > I can't think of something that both requires query-qemu-features and
> > isn't compile-time static.  But that could be because not many things
> > require query-qemu-features :).
> > 
> > The philosophy on Linux seems to be: distros compile QEMU against
> > headers that accurately reflect the system features that are available.
> > Therefore there isn't a lot of runtime fallback logic in case a new QEMU
> > is running on an old host.  This means we can get by with compile-time
> > static features only.
> 
> This assumption is probably going to be more troublesome in future. It
> is increasingly common to deploy libvirt & QEMU inside docker containers,
> and there's not a strict requirement that the docker container image
> is the same distro / version as the docker host. ie a Fedora docker
> image could be run on a RHEL host & vica-verca. IOW we could see an older

Off-topic, the standard spelling seems to be "vice versa".  Is this a
typo or another accepted spelling?

> kernel than what we compiled on. I don't know how common such mismatches
> will be in practice, but at the Docker level there's nothing preventing
> such mismatches, which means some people will inevitably end up running
> in such scenarios whether we like it or not. 

Good point.

Peter's suggestion for a cacheable flag sounds useful.  I can propose
that in the next revision.

Stefan

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]