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 <da...@fromorbit.com>
> Suggested-by: Linus Torvalds <torva...@linux-foundation.org>
> Signed-off-by: Peter Zijlstra (Intel) <pet...@infradead.org>

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 <da...@fromorbit.com>

Cheers,

Dave.
-- 
Dave Chinner
da...@fromorbit.com
--
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