On Fri, Jul 12, 2024, Joel Fernandes wrote: > On Fri, Jul 12, 2024 at 09:44:16AM -0700, Sean Christopherson wrote: > > On Fri, Jul 12, 2024, Steven Rostedt wrote: > > > 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. > > > > Why? The only argument I've seen for needing to hook VM-Exit is so that the > > host can speculatively boost the priority of the vCPU when deliverying an IRQ, > > but (a) I'm unconvinced that is necessary, i.e. that the vCPU needs to be boosted > > _before_ the guest IRQ handler is invoked and (b) it has almost no benefit on > > modern hardware that supports posted interrupts and IPI virtualization, i.e. for > > which there will be no VM-Exit. > > I am a bit confused by your statement Sean, because if a higher prio HOST > thread wakes up on the vCPU thread's phyiscal CPU, then a VM-Exit should > happen. That has nothing to do with IRQ delivery. What am I missing? Why does that require hooking VM-Exit?