thread scheduling priority with libkse
Julian Elischer
julian at elischer.org
Wed Jul 9 14:36:49 PDT 2003
On Tue, 8 Jul 2003, Petri Helenius wrote:
> 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.
>
As I said in othe rmail..
try setting machdep.cpu_idle_hlt to 0
> 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
>
>
> _______________________________________________
> freebsd-threads at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-threads
> To unsubscribe, send any mail to "freebsd-threads-unsubscribe at freebsd.org"
>
More information about the freebsd-threads
mailing list