Re: [PATCH v11 0/4] Introducing a queue read/write lock implementation

From: Waiman Long
Date: Thu Jan 30 2014 - 10:43:39 EST


On 01/30/2014 10:17 AM, Peter Zijlstra wrote:
On Thu, Jan 30, 2014 at 02:04:53PM +0100, Peter Zijlstra wrote:
So I took out that ugly union and rewrote the code to be mostly
atomic_*(), gcc generates acceptable code and its smaller too.

824 0 0 824 338 defconfig-build/kernel/locking/qrwlock.o
776 0 0 776 308 defconfig-build/kernel/locking/qrwlock.o

I don't think I wrecked it, but I've not actually tried it yet.
I did wreck it.. :-)

The below is still small and actually works.

---
arch/x86/Kconfig | 1
arch/x86/include/asm/spinlock.h | 2
arch/x86/include/asm/spinlock_types.h | 4
b/arch/x86/include/asm/qrwlock.h | 18 +++
b/include/asm-generic/qrwlock.h | 174 ++++++++++++++++++++++++++++++++++
b/include/asm-generic/qrwlock_types.h | 17 +++
b/kernel/locking/qrwlock.c | 157 ++++++++++++++++++++++++++++++
kernel/Kconfig.locks | 7 +
kernel/locking/Makefile | 1
9 files changed, 381 insertions(+)

--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig


OK, I see what you are trying to do. I can apply the change to my patch & send out v12. So I presume that you are now OK with it. Can I add your sign-off line?

-Longman


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/