Re: [POC][RFC][PATCH v2] sched: Extended Scheduler Time Slice

From: Mathieu Desnoyers
Date: Fri Oct 27 2023 - 12:09:48 EST


On 2023-10-26 16:45, Steven Rostedt wrote:
On Thu, 26 Oct 2023 14:59:13 -0400
Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> wrote:

for a rough implementation of a 'xchg()' without SMP coherency, just
cpu-local one (ie atomic wrt being preempted by the kernel, but not
atomic wrt other CPU's accessing the same variable concurrently)

Actually Steven does not need a xchg to test-and-set a single bit which
is only accessed concurrently between kernel and userspace from the same
thread. Either "bts" or "andb" should work fine.

Hmm, how would bts work? Doesn't that just set a bit?

Yes, and it saves the bit state in the CF flag before setting it.

If you need to clear a bit then it would be "btr".


I need to clear one bit while seeing if another bit is set. I could also
use subl, as that would also atomically clear the bit.

Ah ok, I did not get that you needed to test for a different bit than the one you clear.

Thanks,

Mathieu


-- Steve

--
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com