We have been talking for a while about "Scalable Read-Write locks" and it is important to mention that although we arrived at the algorithm independently, there is a very good paper from the Oracle Research Labs team about the same ideas (explained in a lot more detail), and I'm sure they had been working on it for longer time than we did... after all, Andreia had the idea for it when we were going through Herb Sutter's presentation on C++ Concurrency.
You can find the link to the paper on Dave Dice's blog, which is by the way an excellent source of information on concurrency:
In their paper, there is a lot of info on variations of the algorithm for these kind of locks, and some performance measurements (done in C code?). They don't provide source code for you to test, but you can check our own implementations in the Concurrency Freaks Library at sourceforge. The ScalableRWLock.java has some similarities to the C-RW-WP mentioned in the paper.