Messages in this thread | | | Date | Wed, 09 Sep 2015 22:09:20 -0400 | From | Waiman Long <> | Subject | Re: [4.2, Regression] Queued spinlocks cause major XFS performance regression |
| |
On 09/06/2015 07:47 PM, Dave Chinner wrote: > 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.
I am working on patches to improve PV qspinlock performance and will run your fstest to verify that there will be no regression.
Cheers, Longman
| |