Re: [4.2, Regression] Queued spinlocks cause major XFS performance regression

From: Dave Chinner
Date: Sun Sep 06 2015 - 19:47:41 EST


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@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/