Re: [PATCH] Updates to Xen hypercall preemption

From: Juergen Gross
Date: Thu Jun 22 2023 - 08:17:12 EST


On 22.06.23 13:15, Peter Zijlstra wrote:
On Thu, Jun 22, 2023 at 12:33:31PM +0200, Juergen Gross wrote:
On 22.06.23 10:26, Peter Zijlstra wrote:

The downside would be that some workloads might see worse performance
due to backend I/O handling might get preempted.

Is that an actual concern? Mark this a legaxy inteface and anybody who
wants to get away from it updates.

It isn't that easy. See above.

Well, the old stuff gets to use full preemption on Dom0, then the new
stuff gets more shiny options.

Yeah, but what about the hypercalls from non-dom0 systems needing the same
handling? This would require to run all guests which are using hypercalls
fully preemptive.


Just thinking - can full preemption be enabled per process?

Nope, that's a system wide thing. Preemption is something that's driven
by the requirements of the tasks that preempt, not something by the
tasks that get preempted.

Depends. If a task in a non-preempt system could switch itself to be
preemptable, we could do so around hypercalls without compromising the
general preemption setting. Disabling preemption in a preemptable system
should continue to be possible for short code paths only, of course.

So something along those lines was suggested elsewhere, and I'm still
not entirely sure how I feel about it, but look here:

https://lkml.kernel.org/r/20230403052233.1880567-1-ankur.a.arora@xxxxxxxxxx

Specifically patches 7 and 8. It is very close so that you currently
do/want. Those patches are many moons old and i've not seen an update on
them, so I've no idea where they are.

It solves a similar problem except it is 'rep string' instructions
that's being interrupted.

Right. I'll ping Ankur.


Juergen

Attachment: OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature