From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754278AbbI3UDp (ORCPT ); Wed, 30 Sep 2015 16:03:45 -0400 Received: from smtp2.provo.novell.com ([137.65.250.81]:41387 "EHLO smtp2.provo.novell.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753567AbbI3UDm (ORCPT ); Wed, 30 Sep 2015 16:03:42 -0400 From: Davidlohr Bueso To: Peter Zijlstra , Ingo Molnar , Thomas Gleixner Cc: Andrew Morton , Linus Torvalds , Will Deacon , "Paul E.McKenney" , linux-kernel@vger.kernel.org, Davidlohr Bueso Subject: [PATCH -tip v3 0/5] locking: Use acquire/release semantics Date: Wed, 30 Sep 2015 13:03:10 -0700 Message-Id: <1443643395-17016-1-git-send-email-dave@stgolabs.net> X-Mailer: git-send-email 2.1.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Changes from v2: o Redid changelog for patches 2-5 (tglx) Changes from v1: o Fix bogus acquire in generic rwsem lock downgrade (Linus) o Fix bogus acquire in unlock_rt_mutex_safe() (tglx) Hi, This series continues porting users to Will's new _{acquire|release|relaxed} optimizations for weakly ordered archs -- and in practice, arm64 being the only actual user we have, thus could use a _lot_ more testing. While we have osq in -tip recently, along with Waiman's one for native qspinlocks, the following patches pretty much complete the move over for all things kernel/locking/*. Of course, particular primitives can be found in the obvious patch titles. Note that patch 1 adds the necessary machinery to fully support some locks, such as rwsems. Compiles on x86 and x86-64. Thanks! Davidlohr Bueso (5): asm-generic: Add _{relaxed|acquire|release}() variants for inc/dec atomics locking/mutex: Use acquire/release semantics locking/rtmutex: Use acquire/release semantics locking/mcs: Use acquire/release semantics locking/rwsem: Use acquire/release semantics include/asm-generic/atomic-long.h | 29 +++++++----- include/asm-generic/mutex-dec.h | 8 ++-- include/asm-generic/mutex-xchg.h | 10 ++-- include/asm-generic/rwsem.h | 21 ++++++--- include/linux/atomic.h | 97 +++++++++++++++++++++++++++++++++++++++ kernel/locking/mcs_spinlock.h | 4 +- kernel/locking/mutex.c | 9 ++-- kernel/locking/rtmutex.c | 30 ++++++++---- kernel/locking/rwsem-xadd.c | 5 +- 9 files changed, 168 insertions(+), 45 deletions(-) -- 2.1.4