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