[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180713164239.GZ2494@hirez.programming.kicks-ass.net>
Date: Fri, 13 Jul 2018 18:42:39 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Michael Ellerman <mpe@...erman.id.au>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Paul McKenney <paulmck@...ux.vnet.ibm.com>,
Alan Stern <stern@...land.harvard.edu>,
andrea.parri@...rulasolutions.com,
Will Deacon <will.deacon@....com>,
Akira Yokosawa <akiyks@...il.com>,
Boqun Feng <boqun.feng@...il.com>,
Daniel Lustig <dlustig@...dia.com>,
David Howells <dhowells@...hat.com>,
Jade Alglave <j.alglave@....ac.uk>,
Luc Maranget <luc.maranget@...ia.fr>,
Nick Piggin <npiggin@...il.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2] tools/memory-model: Add extra ordering for locks and
remove it for ordinary release/acquire
Hi Michael,
On Fri, Jul 13, 2018 at 11:15:26PM +1000, Michael Ellerman wrote:
> I reran some numbers today with some slightly updated tests.
>
> It varies quite a bit across machines and CPU revisions.
>
> On one I get:
>
> Lock/Unlock Time Time % Total Cycles Cycles Cycles Delta
> lwsync/lwsync 79,290,859,955 100.0 % 290,160,065,087 145 -
> lwsync/sync 104,903,703,237 132.3 % 383,966,199,430 192 47
>
> Another:
>
> Lock/Unlock Time Time % Total Cycles Cycles Cycles Delta
> lwsync/lwsync 71,662,395,722 100.0 % 252,403,777,715 126 -
> lwsync/sync 84,932,987,977 118.5 % 299,141,951,285 150 23
>
>
> So 18-32% slower, or 23-47 cycles.
Very good info. Note that another option is to put the SYNC in lock() it
doesn't really matter which of the two primitives gets it. I don't
suppose it really matters for timing either way around.
> Next week I can do some macro benchmarks, to see if it's actually
> detectable at all.
>
> The other question is how they behave on a heavily loaded system.
>
>
> My personal preference would be to switch to sync, we don't want to be
> the only arch finding (or not finding!) exotic ordering bugs.
>
> But we'd also rather not make our slow locks any slower than they have
> to be.
I completely understand, but I'll get you beer (lots) if you do manage
to make SYNC happen :-) :-)
Powered by blists - more mailing lists