On 25/10/2023 11.42, Steven Rostedt wrote: > So, bit 1 is for user space to tell the kernel "please extend me", and bit > two is for the kernel to tell user space "OK, I extended you, but call > sched_yield() when done". I'm not qualified to have an opinion on this. But this sounds quite similar to https://lore.kernel.org/lkml/1395767870-28053-1-git-send-email-khalid.aziz@xxxxxxxxxx/ . "A thread sends the scheduler this request by setting a flag in a memory location it has shared with the kernel. Kernel uses bytes in the same memory location to let the thread know when its request for amnesty from preemption has been granted. Thread should yield the processor at the end of its critical section if it was granted amnesty to play nice with other threads." Rasmus