From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753200AbbIFXrh (ORCPT ); Sun, 6 Sep 2015 19:47:37 -0400 Received: from ipmail05.adl6.internode.on.net ([150.101.137.143]:49694 "EHLO ipmail05.adl6.internode.on.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752886AbbIFXr1 (ORCPT ); Sun, 6 Sep 2015 19:47:27 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2ChDAAU0OxVPOV8LHlegyOBPYJWg3yifAEBAQeKZZEUBAICgRxNAQEBAQEBBwEBAQFBP4QkAQEEOhwjEAgDGAklDwUlAwcaE4gtyEMBAQEBBgEBAQEeGYYThUKBPQGDTgeELAWVVYx3gU+VP4NsgkOBdSwziEkBAQE Date: Mon, 7 Sep 2015 09:47:09 +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: <20150906234708.GP26895@dastard> References: <20150904054820.GY3902@dastard> <20150904073917.GA18489@twins.programming.kicks-ass.net> <20150904081234.GA3902@dastard> <20150904113233.GT3644@twins.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150904113233.GT3644@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 01:32:33PM +0200, Peter Zijlstra wrote: > On Fri, Sep 04, 2015 at 06:12:34PM +1000, Dave Chinner wrote: > > You probably don't even need a VM to reproduce it - that would > > certainly be an interesting counterpoint if it didn't.... > > Even though you managed to restore your DEBUG_SPINLOCK performance by > changing virt_queued_spin_lock() to use __delay(1), I ran the thing on > actual hardware just to test. > > [ Note: In any case, I would recommend you use (or at least try) > PARAVIRT_SPINLOCKS if you use VMs, as that is where we were looking for > performance, the test-and-set fallback really wasn't meant as a > performance option (although it clearly sucks worse than expected). FSUse% Count Size Files/sec App Overhead 0 1600000 0 319431.5 10116018 0 3200000 0 307824.5 10054299 0 4800000 0 296971.5 10770197 0 6400000 0 281653.6 11748423 .... PARAVIRT_SPINLOCKS seems to work OK these days, too. I'll leave that set so I'll end up testing whatever comes along down that pipe... Cheers, Dave. -- Dave Chinner david@fromorbit.com