Re: [POC][RFC][PATCH v2] sched: Extended Scheduler Time Slice
From: Steven Rostedt
Date: Fri Oct 27 2023 - 12:44:27 EST
On Fri, 27 Oct 2023 12:21:45 -0400
Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> wrote:
> > Attached is the updated test program.
>
> I think you'll want to modify the semantic of your "cr_flags" field so
> it supports nested locks as well. You can change this cr_flags for a
> nesting counter. The "yield" bit could be one of the bits of that
> counter (e.g. lowest bit).
Hmm, yeah, we could just have it be: bit 0 set by the kernel, and allow
user space set any bit above that to say "I'm in a critical section". Then,
the kernel would do:
if (cr_flags & ~1) // in critical section
and this would allow user space to us cr_flags as the nested counter if it
wants to. I just don't want that to be a kernel requirement, but allowing
*any* bit to be set above bit 0 would allow user space to decide that or
not.
>
> Therefore extend() become add 0x2, and unextend() become a sub 0x2, and
> you can check the lowest bit for yield hint.
Right, that makes sense. I'll update that in the next version.
Thanks!
-- Steve