From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751018AbcEIE7j (ORCPT ); Mon, 9 May 2016 00:59:39 -0400 Received: from smtp2.provo.novell.com ([137.65.250.81]:33396 "EHLO smtp2.provo.novell.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750864AbcEIE7i (ORCPT ); Mon, 9 May 2016 00:59:38 -0400 From: Davidlohr Bueso To: mingo@kernel.org, peterz@infradead.org, tglx@linutronix.de Cc: Waiman.Long@hpe.com, jason.low2@hp.com, dave@stgolabs.net, linux-kernel@vger.kernel.org Subject: [PATCH -tip 0/4] locking/rwsem (xadd): Reader waiter optimizations Date: Sun, 8 May 2016 21:56:06 -0700 Message-Id: <1462769770-29363-1-git-send-email-dave@stgolabs.net> X-Mailer: git-send-email 2.8.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, This is a follow up series while reviewing Waiman's reader-owned state work[1]. While I have based it on -tip instead of that change, I can certainly rebase the series in some future iteration. Changes are mainly around reader-waiter optimizations, in no particular order. Has passed numerous DB benchmarks without things falling apart for a 8 core Westmere doing page allocations (page_test) in aim9: aim9 4.6-rc6 4.6-rc6 rwsemv2 Min page_test 378167.89 ( 0.00%) 382613.33 ( 1.18%) Min exec_test 499.00 ( 0.00%) 502.67 ( 0.74%) Min fork_test 3395.47 ( 0.00%) 3537.64 ( 4.19%) Hmean page_test 395433.06 ( 0.00%) 414693.68 ( 4.87%) Hmean exec_test 499.67 ( 0.00%) 505.30 ( 1.13%) Hmean fork_test 3504.22 ( 0.00%) 3594.95 ( 2.59%) Stddev page_test 17426.57 ( 0.00%) 26649.92 (-52.93%) Stddev exec_test 0.47 ( 0.00%) 1.41 (-199.05%) Stddev fork_test 63.74 ( 0.00%) 32.59 ( 48.86%) Max page_test 429873.33 ( 0.00%) 456960.00 ( 6.30%) Max exec_test 500.33 ( 0.00%) 507.66 ( 1.47%) Max fork_test 3653.33 ( 0.00%) 3650.90 ( -0.07%) 4.6-rc6 4.6-rc6 rwsemv2 User 1.12 0.04 System 0.23 0.04 Elapsed 727.27 721.98 [1] http://permalink.gmane.org/gmane.linux.kernel/2216743 Thanks! Davidlohr Bueso (4): locking/rwsem: Avoid stale ->count for rwsem_down_write_failed() locking/rwsem: Drop superfluous waiter refcount locking/rwsem: Enable lockless waiter wakeup(s) locking/rwsem: Rework zeroing reader waiter->task kernel/locking/rwsem-xadd.c | 74 ++++++++++++++++++++++++++------------------- 1 file changed, 43 insertions(+), 31 deletions(-) -- 2.8.1