Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 May 2007 23:25:17 -0700 (PDT)
From:      Jeff Roberson <jroberson@chesapeake.net>
To:        arch@freebsd.org
Subject:   Last chance for threadlock review.
Message-ID:  <20070531221856.B799@10.0.0.1>

next in thread | raw e-mail | index | archive | help
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.

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070531221856.B799>