This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 3/6] Use XEND when a lock is busy in an elision attempt.


Torvald Riegel <triegel@redhat.com> writes:

>> Since z transactions and TSX are somewhat different I think it's
>> expected that the elision code for both diverges.
>
> While this might eventually be true, it is something that we should
> really try to avoid.  Andi, you complained about the multiple
> arch-specific versions of some of the pthreads code in the past, and
> forking the elision code without need would be exactly the same problem.
>
> We should try really hard to keep this generic as much as possible.
> Ideally, I'd like both of you to sit down and flesh out the adaptation
> in more detail, and look for the commonalities there.

It needs more experimentation first. I consider the current algorithm
preliminary. We already have a better set of skip counts now
(I had an intern working on this this summer), but there 
is still some more work needed to evaluate more options. 
I also consider this to be an area where more research would make sense.

But again TSX is different from zSeries.

For example the micro benchmarks Dominik was working with earlier
behaved very different.

>> We reserved some fixed values for abort codes in the optimization guide
>> (you can see that as a kind of ABI)
>
> Is this an official "Intel-blessed" document?

It's Intel authored.

> Can you post the link?

http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf
12.4.5

> Who does this apply to?

Everyone who wants to follow it. At least all my code and pretty much
all of the examples use this convention.

-Andi

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]