[PATCH 3/3] powerpc/e6500: hw tablewalk: order the memory access when acquire/release tcd lock
Kevin Hao
haokexin at gmail.com
Fri Aug 14 17:13:57 AEST 2015
On Thu, Aug 13, 2015 at 10:39:19PM -0500, Scott Wood wrote:
> On Thu, 2015-08-13 at 19:51 +0800, Kevin Hao wrote:
> > I didn't find anything unusual. But I think we do need to order the
> > load/store of esel_next when acquire/release tcd lock. For acquire,
> > add a data dependency to order the loads of lock and esel_next.
> > For release, even there already have a "isync" here, but it doesn't
> > guarantee any memory access order. So we still need "lwsync" for
> > the two stores for lock and esel_next.
>
> I was going to say that esel_next is just a hint and it doesn't really matter
> if we occasionally get the wrong value, unless it happens often enough to
> cause more performance degradation than the lwsync causes. However, with the
> A-008139 workaround we do need to read the same value from esel_next both
> times. It might be less costly to save/restore an additional register
> instead of lwsync, though.
I will try to get some benchmark number to compare which method is a bit better.
Do you have any recommended benchmark for a case this is?
Thanks,
Kevin
>
> -Scott
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20150814/931dc854/attachment.sig>
More information about the Linuxppc-dev
mailing list