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

Re: [Xen-devel] [PATCH] evtchn: make support for different ABIs tunable

On 07.08.2019 17:00, Andrew Cooper wrote:
On 07/08/2019 15:30, Jan Beulich wrote:
On 07.08.2019 15:41, Andrew Cooper wrote:
Furthermore, if there is this problem for event channels, then there is
almost certainly a related problem for grant tables.

The control in Xen should be expressed in a positive form, or the logic
will become a tangle.  It should be a bit permitting the use of the FIFO
ABI, rather than a bit saying "oh actually, you can't use that".

That said, it might be easier to declare FIFO to be "event channel v2",
and specify max_{grant,evntchn}_ver instead.

I'm not sure assuming linear (or actually any) ordering between
variants is a good thing. Yes, right now we only have gnttab
v1 and v2 and evtchn 2l and fifo, which could be considered v1
and v2 as you suggest. However, assuming a 3rd variant surfaces,
why would it be that one has to expose v2 just to make v3
usable? In particular gnttab v2 has various issues (which is why
you introduced a way to disable its use in the first place), yet
I'd hope we'd end up with a less quirky v3 if one ever becomes
necessary. And in turn I'd hope we could hide v2 from any v3

IOW I think a bitmap to permit use of "advanced" versions is
more future proof. (As a side note, I don't think we want to
introduce a disable for the respective v1 interfaces.)

We absolutely do want a way to turn everything off.

The inability to turn the Xen extensions off for HVM guests (even if
only for debugging purposes) is a severely short sighted decision.

For HVM perhaps, but not for PV.

It is also a feature which has been requested repeatedly by users in the
past, and I am very deliberately building a way to do this into the
CPUID work.

However, it is an unreasonable request to bundle into this bugfix, hence
why I didn't suggest it.

There's no bug fix here, as there's no bug (in Xen).

Now I think about it, things like available ABIs really should be in the
Xen hypervisor CPUID leaves, but again, that ship sailed a decade ago.

For comparison, do you know of any CPU architecture making _all_
of its basic insns and other functionality available conditionally
only? Just like there, I think it is reasonable to have a basic
set available in all cases. Nevertheless, as said above, HVM might
have benefited from making even some basic hypercalls conditional,
because there they're strictly extensions, not base functionality.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.