Re: [PATCH 00/18] x86: Ticket lock + cmpxchg cleanup

From: Jeremy Fitzhardinge
Date: Wed Aug 24 2011 - 17:46:34 EST


On 08/24/2011 02:36 PM, Jeremy Fitzhardinge wrote:
> From: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx>
>
> Hi all,
>
> Another spin of the cmpxchg/xadd/ticketlock cleanups.
>
> Changes from last post:
> - reorder all the cmpxchg/xadd patches first
> - change xadd to return prev rather than implicitly update arg
> - recast ticketlock cleanup in terms of xadd
> - drop conversion of unlock to C
>
> This is also available at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git upstream/ticketlock-cleanup
>
> arch/x86/include/asm/atomic.h | 8 +-
> arch/x86/include/asm/atomic64_64.h | 6 +-
> arch/x86/include/asm/cacheflush.h | 2 +-
> arch/x86/include/asm/cmpxchg.h | 232 +++++++++++++++++++++++++++++++++
> arch/x86/include/asm/cmpxchg_32.h | 128 ++----------------
> arch/x86/include/asm/cmpxchg_64.h | 131 -------------------
> arch/x86/include/asm/rwsem.h | 15 +--
> arch/x86/include/asm/spinlock.h | 110 ++++------------
> arch/x86/include/asm/spinlock_types.h | 22 +++-
> arch/x86/include/asm/uv/uv_bau.h | 6 +-
> arch/x86/kernel/acpi/boot.c | 10 +-
> arch/x86/kernel/cpu/mcheck/mce.c | 2 +-
> arch/x86/xen/p2m.c | 10 +-
> 13 files changed, 311 insertions(+), 371 deletions(-)
>
> Thanks,
> J

Uh, that's 00/12, and ignore the below; that's left over from the
previous posting.

J

>
> Jeremy Fitzhardinge (18):
> x86/ticketlock: clean up types and accessors
> x86/ticketlock: convert spin loop to C
> x86/ticketlock: Use C for __ticket_spin_unlock
> x86/ticketlock: make large and small ticket versions of spin_lock the
> same
> x86/ticketlock: make __ticket_spin_lock common
> x86/ticketlock: make __ticket_spin_trylock common
> x86: add xadd helper macro
> x86/ticketlock: use xadd helper
> x86/cmpxchg: linux/alternative.h has LOCK_PREFIX
> x86/cmpxchg: move 32-bit __cmpxchg_wrong_size to match 64 bit.
> x86/cmpxchg: move 64-bit set64_bit() to match 32-bit
> x86/cmpxchg: unify cmpxchg into cmpxchg.h
> x86: add cmpxchg_flag() variant
> x86/ticketlocks: use cmpxchg_flag for trylock
> x86: use cmpxchg_flag() where applicable
> x86: report xchg/cmpxchg/xadd usage errors consistently
> x86: add local and sync variants of xadd
> x86: use xadd helper more widely
>
> arch/x86/include/asm/atomic.h | 4 +-
> arch/x86/include/asm/atomic64_64.h | 4 +-
> arch/x86/include/asm/cacheflush.h | 2 +-
> arch/x86/include/asm/cmpxchg.h | 223 +++++++++++++++++++++++++++++++++
> arch/x86/include/asm/cmpxchg_32.h | 128 ++-----------------
> arch/x86/include/asm/cmpxchg_64.h | 131 -------------------
> arch/x86/include/asm/rwsem.h | 11 +--
> arch/x86/include/asm/spinlock.h | 140 +++++++--------------
> arch/x86/include/asm/spinlock_types.h | 22 +++-
> arch/x86/include/asm/uv/uv_bau.h | 4 +-
> arch/x86/kernel/acpi/boot.c | 10 +-
> arch/x86/kernel/cpu/mcheck/mce.c | 2 +-
> arch/x86/xen/p2m.c | 10 +-
> 13 files changed, 321 insertions(+), 370 deletions(-)
>

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