thread scheduling priority with libkse
Petri Helenius
pete at he.iki.fi
Tue Jul 8 00:35:05 PDT 2003
Daniel Eischen wrote:
>The current thread. As I said before, if there are idle KSEs, then
>one is woken to run the newly runnable thread.
>
I'm seeing about 200 microsecond latency when scheduling the thread on
the other
KSE. Which translates to maximum of 2500 "spins" of the contested loop
a second.
Same code runs about 500000 spins a second when no locking is involved.
This is on othervise idle Dual 2.4 Xeon.
If the mutex performance sounds about right, I need to redesign my
locking to
go from one contested lock to many uncontested ones, which sounds a good
idea
anyway.
>It waits until either you hit a blocking condition or the
>quantum expires. The library is not (yet) smart enough
>to switch out the current thread after the unlock if the
>new owner has a higher priority. We could do that, but
>if there are other KSEs that can run the new thread, then
>they should get it.
>
>
>
But the library is smart enough to extend the quantum on a higher
priority thread if SCHED_RR is in effect? I'm seeing multiples
of 20ms being allocated with two runnable threads of priorities
15 and 20 competing for the CPU.
Pete
More information about the freebsd-threads
mailing list