> What if another vendor shows up, perhaps on another architecture?

HLE code is currently usually x86 specific. e.g. for practical spin locks
you have to include a __builtin_ia32_pause() on lock locked to stop speculation,
otherwise the lock path will speculate too, which is very inefficient.

So if you wanted abstracted HLE, you would need more abstracted builtins first.

> > Currently it's highly error prone -- on the Russel hard to misuse scale not 
> > higher 
> > than 1 as is [1]
> 
> It would be a three, if the patch would contain documentation of the
> additional bit.  I guess that's a hint :)

Yes :)

> However, I'm not 100% sure that HLE is only useful paired with
> acquire/release memory orders in general (ie, possibly on other archs).

It's actually stronger on the instruction level (see other mail),
except for the MOV release.

-Andi
-- 
a...@linux.intel.com -- Speaking for myself only.

Reply via email to