From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: David Vrabel <david.vrabel@citrix.com>
Cc: xen-devel@lists.xensource.com, keir@xen.org,
Tim Deegan <Tim.Deegan@citrix.com>,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
george.dunlap@eu.citrix.com,
Ian Jackson <Ian.Jackson@eu.citrix.com>,
Lars Kurth <lars.kurth@xen.org>,
Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: Xen Project policy on feature flags
Date: Fri, 26 Sep 2014 10:36:58 -0400 [thread overview]
Message-ID: <20140926143658.GB19421@laptop.dumpdata.com> (raw)
In-Reply-To: <54257799.2060106@citrix.com>
On Fri, Sep 26, 2014 at 03:26:33PM +0100, David Vrabel wrote:
> On 26/09/14 14:24, Stefano Stabellini wrote:
> > Hello all,
> > I am writing to request a clarification on Xen feature flags
> > (XENFEAT_*) and backward compatibility:
> >
> > is the hypervisor allowed to remove any feature flags in a future
> > release, even though doing so might break some existing guests?
> >
> > For example one could write a PV on HVM guest that requires
> > XENFEAT_hvm_callback_vector (regardless of PVH), could a future Xen
> > release remove that feature? Or is it now part of our ABI, therefore
> > maintained for backward compatibility, following the rule that we don't
> > break existing guests?
> >
> >
> > I always thought that any XENFEAT feature flags could be removed going
> > forward, if the hypervisor maintainers decide to do so. However Ian
> > Campbell is of the opposite opinion, so I think we should have a clear
> > policy regarding them.
>
> A guest that runs on Xen version V /must/ continue to run on V+1.
Not if the feature is 'experimental' (I don't know offhand if this
is experimental or not).
>
> The is similar to the policy the Linux kernel has for the user space ABI.
Sure, but there are also ioctls and such which can change between releases
such that application for V+1 will _not_ work with V. Look at 'perf'
as an example.
>
> This does permit support for features to be removed but only if no guest
> would be broken by its removal. But since it it is not possible to know
> what guests people have running and what features they require, I can't
> see how any feature could be safely removed.
The guest is already broken even by taking advantage of this feature.
>
> > In any case I think that it is generally useful to have optional flags
> > that advertise the presence of a feature but can also be removed going
> > forward. If XENFEAT feature flags are not them, then we might still want
> > to introduce them as a separate concept.
>
> I don't think "optional" feature flags are any different. You can
> specify that guests must handle the feature being missing but that's no
> guarantee that guest will actually implement the fallback.
That would be a odd - as it would mean guests were written
to work with V+1 but not with V-1.
Granted that is the case for booting Linux as dom0. It can only work
with Xen 4.1 and later. But you could argue that the fallback for booting
with V-1 (Xen 4.0) is to not boot at all as it did not have the
minimum required features.
So was this feature an required feature or an enhancement?
>
> David
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2014-09-26 14:36 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-26 13:24 Xen Project policy on feature flags Stefano Stabellini
2014-09-26 13:39 ` Jan Beulich
2014-09-26 13:56 ` Andrew Cooper
2014-09-26 14:19 ` Ian Campbell
2014-09-26 14:29 ` Konrad Rzeszutek Wilk
2014-09-26 14:49 ` Stefano Stabellini
2014-09-29 9:00 ` George Dunlap
2014-09-29 9:31 ` Wei Liu
2014-09-29 9:36 ` George Dunlap
2014-09-29 9:54 ` Wei Liu
2014-09-29 9:54 ` Stefano Stabellini
2014-09-29 10:05 ` David Vrabel
2014-09-29 11:32 ` Ian Campbell
2014-09-29 14:55 ` Konrad Rzeszutek Wilk
2014-09-29 15:00 ` Ian Campbell
2014-09-30 11:04 ` Stefano Stabellini
2014-09-26 14:46 ` Jan Beulich
2014-09-26 14:26 ` David Vrabel
2014-09-26 14:36 ` Konrad Rzeszutek Wilk [this message]
2014-09-26 14:54 ` Stefano Stabellini
2014-09-26 19:16 ` Konrad Rzeszutek Wilk
2014-09-26 14:52 ` Jan Beulich
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=20140926143658.GB19421@laptop.dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=Ian.Campbell@citrix.com \
--cc=Ian.Jackson@eu.citrix.com \
--cc=Tim.Deegan@citrix.com \
--cc=david.vrabel@citrix.com \
--cc=george.dunlap@eu.citrix.com \
--cc=keir@xen.org \
--cc=lars.kurth@xen.org \
--cc=stefano.stabellini@eu.citrix.com \
--cc=xen-devel@lists.xensource.com \
/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.