Last chance for threadlock review.

Jeff Roberson jroberson at chesapeake.net
Fri Jun 1 19:23:37 UTC 2007


On Thu, 31 May 2007, Jeff Roberson wrote:

> Next week I intend to commit the final scheduler lock decomposition patch. 
> Before that time I intend to:
>
> 1)  Continue to test more variations on schedulers, architectures, 
> preemption, debugging features, and a buildworld or two.
>
> 2)  Post the patch to current@ to appeal for more testers.  Kris Kennaway and 
> myself have been hammering on it pretty hard but there are always cases that 
> are missed when it's only two individuals.
>
> 3)  Solicit for more thorough review here!  I haven't had much feedback on 
> the difficult parts of the patch.  I really would like more eyes on it. Some 
> things to focus on:
> a)  Turnstile locking
> b)  sleepqueue locking
> c)  blocked lock
> d)  thread_lock()
> e)  New cpu_switch() argument.  I assume adding an argument to a function 
> doesn't effect the assembly implementation if it is unused.

I should add:
f)  Signals, which are already a mess, have had some code consolidated. 
Earlier on there were bugs in this.  If you have any great ideas for 
simplifying the signal code I'm all ears.  I have considered using the
per-process spinlock to block the threads on when they are in the stopped 
state.  This may reduce some of the locking further.

Jeff

>
> After this diff goes in I will provide a copy of ULE for download that 
> actually implements per-cpu scheduler locks.   So far the system has been 
> fully stable with my threadlock diff, however, there are still some problems 
> with the per-cpu locks in ULE.  There are also some significant performance 
> wins depending on the workload.
>
> I also intend to produce some follow-on patches to improve rusage and add 
> more architecture support for the new cpu_switch().  Architectures that do 
> not implement the special cpu_switch() can not take advantage of the per-cpu 
> ULE but otherwise work.
>
> http://people.freebsd.org/~jeff/threadlock.diff
>
> Thanks,
> Jeff
> _______________________________________________
> freebsd-arch at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arch
> To unsubscribe, send any mail to "freebsd-arch-unsubscribe at freebsd.org"
>


More information about the freebsd-arch mailing list