Re: [PATCH v4 0/3] qrwlock: Introducing a queue read/write lockimplementation

From: Ingo Molnar
Date: Wed Oct 02 2013 - 11:25:51 EST



* Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> On Wed, Oct 02, 2013 at 10:09:03AM -0400, Waiman Long wrote:
> > v3->v4:
> > - Optimize the fast path with better cold cache behavior and
> > performance.
> > - Removing some testing code.
> > - Make x86 use queue rwlock with no user configuration.
>
> > arch/x86/Kconfig | 1 +
> > arch/x86/include/asm/spinlock.h | 2 +
> > arch/x86/include/asm/spinlock_types.h | 4 +
> > include/asm-generic/qrwlock.h | 256 +++++++++++++++++++++++++++++++++
> > include/linux/rwlock.h | 15 ++
> > include/linux/rwlock_types.h | 13 ++
> > kernel/Kconfig.locks | 7 +
> > lib/Makefile | 1 +
> > lib/qrwlock.c | 247 +++++++++++++++++++++++++++++++
> > lib/spinlock_debug.c | 19 +++
> > 10 files changed, 565 insertions(+), 0 deletions(-)
> > create mode 100644 include/asm-generic/qrwlock.h
> > create mode 100644 lib/qrwlock.c
>
>
> Where's the ---- for removing the old rwlock from x86?

Also, if we go this route then please name it as much rwlock_t as possible
- we didn't rename spinlock internals to 'qspinlock' either when queueing
was added.

It's a new implementation, not a different lock type.

For a test prototype it's OK - just not for the final form IMO.

Also, at first glance there's little reason why this should be x86 only.
It uses fairly generic SMP primitives that should be available on every
architecture.

Assuming the performance figures are right.

Thanks,

Ingo
--
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/