aboutsummaryrefslogtreecommitdiff
path: root/login/login.c
diff options
context:
space:
mode:
authorAndi Kleen <ak@linux.intel.com>2014-03-17 05:48:28 -0700
committerAndi Kleen <ak@linux.intel.com>2014-06-13 12:49:03 -0700
commita832bdd36203fcb37fa5ad25200ef3c1ae205efe (patch)
tree045064e8ee765c267caab8a76a0a014c39acb787 /login/login.c
parent995a46bbfba9964e328e3947130919d8bd3cd62a (diff)
downloadglibc-a832bdd36203fcb37fa5ad25200ef3c1ae205efe.tar
glibc-a832bdd36203fcb37fa5ad25200ef3c1ae205efe.tar.gz
glibc-a832bdd36203fcb37fa5ad25200ef3c1ae205efe.tar.bz2
glibc-a832bdd36203fcb37fa5ad25200ef3c1ae205efe.zip
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.
Diffstat (limited to 'login/login.c')
0 files changed, 0 insertions, 0 deletions