From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tim Chen Subject: [PATCH v4 0/4] MCS Lock: MCS lock code cleanup and optimizations Date: Wed, 06 Nov 2013 17:26:40 -0800 Message-ID: <1383787600.11046.363.camel@schen9-DESK> References: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Return-path: Received: from mga02.intel.com ([134.134.136.20]:6748 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751805Ab3KGB0r (ORCPT ); Wed, 6 Nov 2013 20:26:47 -0500 Sender: linux-arch-owner@vger.kernel.org List-ID: To: Ingo Molnar , Andrew Morton , Thomas Gleixner Cc: linux-kernel@vger.kernel.org, linux-mm , linux-arch@vger.kernel.org, Linus Torvalds , Waiman Long , Andrea Arcangeli , Alex Shi , Andi Kleen , Michel Lespinasse , Davidlohr Bueso , Matthew R Wilcox , Dave Hansen , Peter Zijlstra , Rik van Riel , Peter Hurley , "Paul E.McKenney" , Tim Chen , Raghavendra K T , George Spelvin , "H. Peter Anvin" , Arnd Bergmann , Aswin Chandramouleeswaran , Scott J Norton In this patch series, we separated out the MCS lock code which was previously embedded in the mutex.c. This allows for easier reuse of MCS lock in other places like rwsem and qrwlock. We also did some micro optimizations and barrier cleanup. This patches were previously part of the rwsem optimization patch series but now we spearate them out. Tim Chen v4: 1. Move patch series to the latest tip after v3.12 v3: 1. modified memory barriers to support non x86 architectures that have weak memory ordering. v2: 1. change export mcs_spin_lock as a GPL export symbol 2. corrected mcs_spin_lock to references Jason Low (2): MCS Lock: optimizations and extra comments MCS Lock: Barrier corrections Tim Chen (1): MCS Lock: Restructure the MCS lock defines and locking code into its own file Waiman Long (2): MCS Lock: Make mcs_spinlock.h includable in other files MCS Lock: Allow architecture specific memory barrier in lock/unlock arch/x86/include/asm/barrier.h | 6 +++ include/linux/mcs_spinlock.h | 25 ++++++++++ include/linux/mutex.h | 5 +- kernel/locking/Makefile | 6 +- kernel/locking/mcs_spinlock.c | 96 ++++++++++++++++++++++++++++++++++++++++ kernel/locking/mutex.c | 60 +++---------------------- 6 files changed, 140 insertions(+), 58 deletions(-) create mode 100644 include/linux/mcs_spinlock.h create mode 100644 kernel/locking/mcs_spinlock.c -- 1.7.4.4 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com ([134.134.136.20]:6748 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751805Ab3KGB0r (ORCPT ); Wed, 6 Nov 2013 20:26:47 -0500 Subject: [PATCH v4 0/4] MCS Lock: MCS lock code cleanup and optimizations From: Tim Chen References: Content-Type: text/plain; charset="UTF-8" Date: Wed, 06 Nov 2013 17:26:40 -0800 Message-ID: <1383787600.11046.363.camel@schen9-DESK> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-arch-owner@vger.kernel.org List-ID: To: Ingo Molnar , Andrew Morton , Thomas Gleixner Cc: linux-kernel@vger.kernel.org, linux-mm , linux-arch@vger.kernel.org, Linus Torvalds , Waiman Long , Andrea Arcangeli , Alex Shi , Andi Kleen , Michel Lespinasse , Davidlohr Bueso , Matthew R Wilcox , Dave Hansen , Peter Zijlstra , Rik van Riel , Peter Hurley , "Paul E.McKenney" , Tim Chen , Raghavendra K T , George Spelvin , "H. Peter Anvin" , Arnd Bergmann , Aswin Chandramouleeswaran , Scott J Norton , Will Deacon , "Figo.zhang" Message-ID: <20131107012640.IKnoaVLa2yNM8nBrryTMLUcgAX1yQ_pCFCKNakpUICc@z> In this patch series, we separated out the MCS lock code which was previously embedded in the mutex.c. This allows for easier reuse of MCS lock in other places like rwsem and qrwlock. We also did some micro optimizations and barrier cleanup. This patches were previously part of the rwsem optimization patch series but now we spearate them out. Tim Chen v4: 1. Move patch series to the latest tip after v3.12 v3: 1. modified memory barriers to support non x86 architectures that have weak memory ordering. v2: 1. change export mcs_spin_lock as a GPL export symbol 2. corrected mcs_spin_lock to references Jason Low (2): MCS Lock: optimizations and extra comments MCS Lock: Barrier corrections Tim Chen (1): MCS Lock: Restructure the MCS lock defines and locking code into its own file Waiman Long (2): MCS Lock: Make mcs_spinlock.h includable in other files MCS Lock: Allow architecture specific memory barrier in lock/unlock arch/x86/include/asm/barrier.h | 6 +++ include/linux/mcs_spinlock.h | 25 ++++++++++ include/linux/mutex.h | 5 +- kernel/locking/Makefile | 6 +- kernel/locking/mcs_spinlock.c | 96 ++++++++++++++++++++++++++++++++++++++++ kernel/locking/mutex.c | 60 +++---------------------- 6 files changed, 140 insertions(+), 58 deletions(-) create mode 100644 include/linux/mcs_spinlock.h create mode 100644 kernel/locking/mcs_spinlock.c -- 1.7.4.4