Re: [PATCH 02/29] x86, tsx: Add RTM intrinsics

Andi Kleen
2013-03-25T08:15:59Z

> FYI the TM spec can be downloaded here:
> https://www.power.org/documentation/power-isa-transactional-memory/
>
> You're example code looks like this:

I don't think portable code will use this directly. Note it's in arch/x86/

Generally portable code should use higher level interfaces, like
elide_lock/elide_lock_adapt that hide the architecture specific
details.

If you want to do lock elision you would plug in some elision
algorithm that works well at that level.

> Secondly, can we make xbegin just return true/false and get the status
> later if needed?

I now removed xbegin() from the portable file, as it's only used
in arch specific code. And FWIW I'm considering to change it to save
a few instructions and go for the more efficient goto based
interface in glibc.

>
> ppc = tcheck... should be fine, other than the name.

Well x and tm doesn't really matter, but I already have x* so i'm inclined
to keep it, unless people bikeshed too strongly. It should work for PPC too.

BTW if the percpu include loop hell is ever sorted out _xtest may
even stop using XTEST.

-Andi

--
ak@linux.intel.com -- Speaking for myself only