Martin J. Bligh wrote: >>>What do you think? Is there any other sorts of benchmarks I should try? >>>The improvement I think is significant, although volanomark is quite >>>erratic and doesn't show it well. >>> >>>I don't see any problem with moving the wakeups out of the rwsem's >>>spinlock. >>> >>> >>Actually my implementation does have a race because list_del_init isn't >>atomic. Shouldn't be difficult to fix if anyone cares about it... otherwise >>I won't bother. >> > >If you can fix it up, I'll get people here to do some more testing on the >patch on other benchmarks, etc. > OK, this one should work. There isn't much that uses rwsems, but mmap_sem is the obvious one. So if the patch helps anywhere, it will be something heavily threaded, that is taking the mmap sem a lot (mostly for reading, sometimes writing), with a lot of CPUs and a lot of runqueue activity (ie waking up, sleeping, tasks running).