This patch set introduces a queue-based read/write implementation that is both faster and fairer than the current read/write lock. It can also be used as a replacement for ticket spinlocks that are highly contended if lock size increase is not an issue. There is no change in the interface. By just replacing the current read/write lock with the queue read/write lock, we can have a faster and more deterministic system. Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Waiman Long (2): qrwlock: A queue read/write lock implementation x86 qrwlock: Enable x86 to use queue read/write lock arch/x86/Kconfig | 3 + arch/x86/include/asm/spinlock.h | 2 + arch/x86/include/asm/spinlock_types.h | 4 + include/asm-generic/qrwlock.h | 124 +++++++++++++++++ lib/Kconfig | 11 ++ lib/Makefile | 1 + lib/qrwlock.c | 246 +++++++++++++++++++++++++++++++++ 7 files changed, 391 insertions(+), 0 deletions(-) create mode 100644 include/asm-generic/qrwlock.h create mode 100644 lib/qrwlock.c -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html