[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 users. 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. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |