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

Reply via email to