On Wed, 17 Jul 2024 16:57:43 -0400 Joel Fernandes <joel@xxxxxxxxxxxxxxxxx> wrote: > On Wed, Jul 17, 2024 at 11:20 AM Steven Rostedt <rostedt@xxxxxxxxxxx> wrote: > > > > On Wed, 17 Jul 2024 10:52:33 -0400 > > Steven Rostedt <rostedt@xxxxxxxxxxx> wrote: > > > > > We could possibly add a new sched class that has a dynamic priority. > > > > It wouldn't need to be a new sched class. This could work with just a > > task_struct flag. > > > > It would only need to be checked in pick_next_task() and > > try_to_wake_up(). It would require that the shared memory has to be > > allocated by the host kernel and always present (unlike rseq). But this > > coming from a virtio device driver, that shouldn't be a problem. > > Problem is its not only about preemption, if we set the vCPU boosted > to RT class, and another RT task is already running on the same CPU, That can only happen on wakeup (interrupt). As the point of lazy priority changing, it is only done when the vCPU is running. -- Steve > then the vCPU thread should get migrated to different CPU. We can't do > that I think if we just did it without doing a proper > sched_setscheduler() / sched_setattr() and let the scheduler handle > things. Vineeth's patches was doing that in VMEXIT..