From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753146AbbIFXc6 (ORCPT ); Sun, 6 Sep 2015 19:32:58 -0400 Received: from ipmail05.adl6.internode.on.net ([150.101.137.143]:21328 "EHLO ipmail05.adl6.internode.on.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752753AbbIFXcv (ORCPT ); Sun, 6 Sep 2015 19:32:51 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2AiDQCTzOxVPOV8LHlegyOBPYJWg3yifAEBAQeKZZEUAgIBAQKBHE0BAQEBAQEHAQEBAUE/hCMBAQEEOhwjEAgDFwEJJQ8FJQMHDA4TiC3IRAEBAQEGAgEfGYYThUKBPQGDTgeELAWMd4U7gmU+jHeaeoJDgXUsM4hJAQEB Date: Mon, 7 Sep 2015 09:32:26 +1000 From: Dave Chinner To: Peter Zijlstra Cc: Linus Torvalds , Linux Kernel Mailing List , Waiman Long , Ingo Molnar Subject: Re: [4.2, Regression] Queued spinlocks cause major XFS performance regression Message-ID: <20150906233226.GO26895@dastard> References: <20150904054820.GY3902@dastard> <20150904071143.GZ3902@dastard> <20150904082954.GB3902@dastard> <20150904151427.GG18489@twins.programming.kicks-ass.net> <20150904152523.GR18673@twins.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150904152523.GR18673@twins.programming.kicks-ass.net> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Sep 04, 2015 at 05:25:23PM +0200, Peter Zijlstra wrote: > Something like so... > > --- > Subject: locking: Fix virt test-and-set lock implementation > > Dave ran into horrible performance on a VM without PARAVIRT_SPINLOCKS > set and Linus noted that the test-and-set implementation was retarded. > > One should spin on the variable with a load, not a rmw. > > While there, remove the queued from the name, as the lock isn't queued > at all, but a simple test-and-set. > > Reported-by: Dave Chinner > Suggested-by: Linus Torvalds > Signed-off-by: Peter Zijlstra (Intel) FSUse% Count Size Files/sec App Overhead 0 1600000 0 319511.8 9398733 0 3200000 0 301517.9 9516230 0 4800000 0 300357.6 9676651 0 6400000 0 282167.8 11513255 Looks OK. Tested-by: Dave Chinner Cheers, Dave. -- Dave Chinner david@fromorbit.com