On Wed, May 01, 2024 at 11:31:02AM -0400, Michael S. Tsirkin wrote: > On Wed, May 01, 2024 at 12:51:51PM +0200, Peter Zijlstra wrote: > > On Tue, Apr 30, 2024 at 12:50:05PM +0200, Tobias Huschle wrote: <...> > > > > I'm still wondering why exactly it is imperative for t2 to preempt t1. > > Is there some unexpressed serialization / spin-waiting ? > > > I am not sure but I think the point is that t2 is a kworker. It is > much cheaper to run it right now when we are already in the kernel > than return to userspace, let it run for a bit then interrupt it > and then run t2. > Right, Tobias? > That would be correct, the optimal scenario would be that t1, the vhost does its thing, wakes up t2, the kworker, makes sure t2 executes immediately, then gets control again and continues watching its loops without ever leaving kernel space.