Add a fast path for C rd/wrlock v2
authorAndi Kleen <ak@linux.intel.com>
Mon, 17 Mar 2014 12:48:28 +0000 (05:48 -0700)
committerAndi Kleen <ak@linux.intel.com>
Fri, 13 Jun 2014 19:49:03 +0000 (12:49 -0700)
commita832bdd36203fcb37fa5ad25200ef3c1ae205efe
tree045064e8ee765c267caab8a76a0a014c39acb787
parent995a46bbfba9964e328e3947130919d8bd3cd62a
Add a fast path for C rd/wrlock v2

One difference of the C versions to the assembler wr/rdlock
is that the C compiler saves some registers which are unnecessary
for the fast path in the prologue of the functions. Split the
uncontended fast path out into a separate function. Only when contention is
detected is the full featured function called. This makes
the fast path code (nearly) identical to the assembler version,
and gives uncontended performance within a few cycles.

v2: Rename some functions and add space.
ChangeLog
nptl/pthread_rwlock_rdlock.c
nptl/pthread_rwlock_wrlock.c