Date: Fri, 1 Jun 2007 12:23:25 -0700 (PDT) From: Jeff Roberson <jroberson@chesapeake.net> To: arch@freebsd.org Subject: Re: Last chance for threadlock review. Message-ID: <20070601122118.B606@10.0.0.1> In-Reply-To: <20070531221856.B799@10.0.0.1> References: <20070531221856.B799@10.0.0.1>
next in thread | previous in thread | raw e-mail | index | archive | help
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@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-arch > To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070601122118.B606>