I am going to commit a patch that goes significantly towards decomposing the scheduler lock into per-cpu scheduler locks. Before this, I would like it if a few more people would run it under more circumstances than I have. The patch is available at: http://people.freebsd.org/~jeff/threadlock.diff So far Kris Kennaway and myself have tested it fairly thoroughly on amd64 machines with 1-8 processors. We've mainly done various benchmarks as well as Peter Holm's stress2 suite. It has survived our testing so this isn't totally unstable code. I would like it if more people would test on any other architecture you have available. I have also tested with 4BSD and ULE with and without INVARIANTS and WITNESS. This patch should have 0 or almost 0 effect on performance. It sets the stage for a drop-in replacement for ULE that has per-cpu run queue locks. That scheduler has a sometimes dramatic effect on performance, depending on the workload. I'm mostly looking for regressions here and not any particular perf impact. Any questions on the design of the approach should be directed at the arch_at_ topics on the subject. Thanks, JeffReceived on Fri Jun 01 2007 - 04:37:08 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:11 UTC