On Fri, 12 Jul 2024 10:09:03 -0400 Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> wrote: > > > > Steven Rostedt told me, what we instead need is a tracepoint callback in a > > driver, that does the boosting. > > I utterly dislike changing the system behavior through tracepoints. They were > designed to observe the system, not modify its behavior. If people start abusing > them, then subsystem maintainers will stop adding them. Please don't do that. > Add a notifier or think about integrating what you are planning to add into the > driver instead. I tend to agree that a notifier would be much better than using tracepoints, but then I also think eBPF has already let that cat out of the bag. :-p All we need is a notifier that gets called at every VMEXIT. The main issue that this is trying to solve is to boost the priority of the guest without making the hypercall, so that it can quickly react (lower the latency of reaction to an event). Now when the task is unboosted, there's no avoiding of the hypercall as there's no other way to tell the host that this vCPU should not be running at a higher priority (the high priority may prevent schedules, or even checking the new prio in the shared memory). If there's a way to have a shared memory, via virtio or whatever, and any notifier that gets called at any VMEXIT, then this is trivial to implement. -- Steve