From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Jan Beulich <JBeulich@suse.com>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Tim Deegan <tim@xen.org>, IanCampbell <Ian.Campbell@citrix.com>,
Xen-develList <xen-devel@lists.xen.org>
Subject: Re: Xen-4.5 HVMOP ABI issues
Date: Thu, 4 Dec 2014 14:28:50 +0000 [thread overview]
Message-ID: <54806FA2.6080406@citrix.com> (raw)
In-Reply-To: <5480748B020000780004CBFC@mail.emea.novell.com>
On 04/12/14 13:49, Jan Beulich wrote:
>>>> On 28.11.14 at 16:46, <andrew.cooper3@citrix.com> wrote:
>> On 28/11/14 15:18, Jan Beulich wrote:
>>>>>> On 28.11.14 at 14:55, <andrew.cooper3@citrix.com> wrote:
>>>> The problem is with continuations which reuse the upper bits of the
>>>> input register, not with this HVMOP_op_mask specifically; the
>>>> HVMOP_op_mask simply adds to an existing problem. This is something
>>>> which needs considering urgently because, as you identify above, we have
>>>> already suffered an accidental ABI breakage with the mem-op widening.
>>> Since we can't retroactively fix the mem-op widening, I still don't see
>>> what's urgent here: As long as we don't change any of these masks,
>>> nothing bad is going to happen. Of course one thing to consider with
>>> this aspect in mind is whether to change the hvm-op or gnttab-op
>>> masks again _before_ 4.5 goes out, based on whether we feel they're
>>> wide enough for the (un)foreseeable future.
>> By urgent, I mean exactly this, while we have the ability to tweak the
>> masks.
> With no-one else voicing an opinion:
>
> For hvmop, the mask currently is 8 bits and we've got 22 ops defined.
>
> For gnttabop, the mask currently is 12 bits and we've got 12 ops defined.
>
> For the latter, we're fine even without further consideration. For the
> former, the two operations actively using the continuation encoding
> are tools-only ones. Since we're fine to alter the tools only interfaces,
> and since it was intended for the tools-only HVM-ops to be split off
> to a separate hypercall (e.g. hvmctl) anyway, the range restriction
> would then no longer be a problem. Plus, in the worst case we could
> always introduce yet another hypercall if we ran out of numbers.
Are you suggesting that we make a new hvmctl now and remove the hvmop
mask before 4.5? If we ship 4.5 with the hvmop mask, we cannot
subsequently remove it even if all continuable hypercalls move to a
separate hypercall.
>
> Consequently what I'd like to propose (and I guess I'll craft a patch
> as soon as I finished this mail) is that we add comments to these
> masks (also the memop one) to make clear that they mustn't change.
> Additionally for forward compatibility I'd also like to add checks for
> the upper bits to be zero for any of the sub-ops that don't actually
> use them to encode continuation information. Konrad, would you
> consider doing so acceptable for 4.5?
I will have to re-work around this new check for XenServer
compatibility, but I suppose that is fine. I am certainly in favour of
leaving an ABI comment with the op masks.
~Andrew
next prev parent reply other threads:[~2014-12-04 14:28 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-28 11:36 Xen-4.5 HVMOP ABI issues Andrew Cooper
2014-11-28 13:07 ` Jan Beulich
2014-11-28 13:11 ` Ian Campbell
2014-11-28 13:55 ` Andrew Cooper
2014-11-28 15:18 ` Jan Beulich
2014-11-28 15:46 ` Andrew Cooper
2014-12-04 13:49 ` Jan Beulich
2014-12-04 14:28 ` Andrew Cooper [this message]
2014-12-04 14:55 ` Jan Beulich
2014-12-04 15:46 ` Andrew Cooper
2014-12-04 16:11 ` Jan Beulich
2014-12-04 16:45 ` Andrew Cooper
2014-12-04 15:49 ` Tim Deegan
2014-12-05 2:19 ` Konrad Rzeszutek Wilk
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=54806FA2.6080406@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=Ian.Campbell@citrix.com \
--cc=JBeulich@suse.com \
--cc=konrad.wilk@oracle.com \
--cc=tim@xen.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.