On Wed, 17 Jul 2024 07:14:59 -0700 Sean Christopherson <seanjc@xxxxxxxxxx> wrote: > > What you're saying is the scheduler should change the priority of the > > vCPU thread dynamically. That's really not the job of the scheduler. > > The user of the scheduler is what changes the priority of threads, not > > the scheduler itself. > > No. If we go the proposed route[*] of adding a data structure that lets userspace > and/or the guest express/adjust the task's priority, then the scheduler simply > checks that data structure when querying the priority of a task. The problem with that is the only use case for such a feature is for vCPUS. There's no use case for a single thread to up and down its priority. I work a lot in RT applications (well, not as much anymore, but my career was heavy into it). And I can't see any use case where a single thread would bounce its priority around. In fact, if I did see that, I would complain that it was a poorly designed system. Now for a guest kernel, that's very different. It has to handle things like priority inheritance and such, where bouncing a threads (or its own vCPU thread) priority most definitely makes sense. So you are requesting that we add a bad user space interface to allow lazy priority management from a thread so that we can use it in the proper use case of a vCPU? -- Steve