Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754010AbcDDGdM (ORCPT ); Mon, 4 Apr 2016 02:33:12 -0400 Received: from smtp2.provo.novell.com ([137.65.250.81]:54811 "EHLO smtp2.provo.novell.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750953AbcDDGdL (ORCPT ); Mon, 4 Apr 2016 02:33:11 -0400 From: Davidlohr Bueso To: tglx@linutronix.de, mingo@kernel.org Cc: peterz@infradead.org, bigeasy@linutronix.de, umgwanakikbuti@gmail.com, paulmck@linux.vnet.ibm.com, dave@stgolabs.net, linux-kernel@vger.kernel.org Subject: [PATCH -tip v2 0/4] rtmutex: Another crack at spin on owner Date: Sun, 3 Apr 2016 23:32:42 -0700 Message-Id: <1459751566-31872-1-git-send-email-dave@stgolabs.net> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1466 Lines: 38 Changes from v1: - Dropped patch 4 that removed the barrier in the deadlock path. - Added patch 2 (trivial) to use poison.h defines. - sprinkled READ/WRITE_ONCE around lock->owner, even if updated inside the cr. (peterz) - More testing time. This is a followup to proposal sometime ago to add spin on owner to rtmutexes. My first attempt was rather permissive in that I tried avoiding the pi dance and let the lock be stolen. However, due to -rt constraints this series only deals with top-waiter, based on what we do in the preempt rt patchset. First two patches are trivial and the whole patchset as survived a week of locktorture+pi_stress pounding at the same time without anything breaking. That said, I'm sure it needs more testing and eyeballs, these paths make my head hurt. Thanks! Davidlohr Bueso (4): rtmutex: Delete save_state member of struct rt_mutex rtmutex: Use waiter debug init,free magic numbers rtmutex: Add rt_mutex_init_waiter helper rtmutex: Reduce top-waiter blocking on a lock include/linux/poison.h | 4 +- include/linux/rtmutex.h | 3 +- kernel/Kconfig.locks | 4 ++ kernel/futex.c | 5 +-- kernel/locking/mutex-debug.c | 4 +- kernel/locking/rtmutex-debug.c | 4 +- kernel/locking/rtmutex.c | 88 ++++++++++++++++++++++++++++++++++------- kernel/locking/rtmutex_common.h | 17 +++++++- 8 files changed, 102 insertions(+), 27 deletions(-) -- 2.7.4