From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752560AbbGBJmK (ORCPT ); Thu, 2 Jul 2015 05:42:10 -0400 Received: from casper.infradead.org ([85.118.1.10]:44895 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751918AbbGBJmC (ORCPT ); Thu, 2 Jul 2015 05:42:02 -0400 Date: Thu, 2 Jul 2015 11:41:55 +0200 From: Peter Zijlstra To: Linus Torvalds Cc: Daniel Wagner , Ingo Molnar , Oleg Nesterov , Paul McKenney , Tejun Heo , Ingo Molnar , Linux Kernel Mailing List , der.herr@hofr.at, Davidlohr Bueso , Rik van Riel , Al Viro , Jeff Layton Subject: Re: [RFC][PATCH 00/13] percpu rwsem -v2 Message-ID: <20150702094155.GW19282@twins.programming.kicks-ass.net> References: <20150622190553.GZ3644@twins.programming.kicks-ass.net> <5589285C.2010100@bmw-carit.de> <20150623143411.GA25159@twins.programming.kicks-ass.net> <558973A7.6010407@bmw-carit.de> <20150623175012.GD3644@twins.programming.kicks-ass.net> <20150623193624.GH18673@twins.programming.kicks-ass.net> <20150624084648.GB27873@gmail.com> <558A75EA.40905@bmw-carit.de> <55938163.7020606@monom.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jul 01, 2015 at 02:54:59PM -0700, Linus Torvalds wrote: > On Tue, Jun 30, 2015 at 10:57 PM, Daniel Wagner wrote: > > > > And an attempt at visualization: > > > > http://monom.org/posix01/sweep-4.1.0-02756-ge3d06bd.png > > http://monom.org/posix01/sweep-4.1.0-02769-g6ce2591.png > > Ugh. The old numbers look (mostly) fairly tight, and then the new ones > are all over the map, and usually much worse. > > We've seen this behavior before when switching from a non-sleeping > lock to a sleeping one. The sleeping locks have absolutely horrible > behavior when they get contended, and spend tons of CPU time on the > sleep/wakeup management, Right, I'm just not seeing how any of that would happen here :/ The read side would only ever block on reading /proc/$something and I'm fairly sure that benchmark doesn't actually touch that file. In any case, I will look into this, I've just not had time yet..