diff options
author | Andi Kleen <ak@linux.intel.com> | 2014-03-17 05:48:28 -0700 |
---|---|---|
committer | Andi Kleen <ak@linux.intel.com> | 2014-06-13 12:49:03 -0700 |
commit | a832bdd36203fcb37fa5ad25200ef3c1ae205efe (patch) | |
tree | 045064e8ee765c267caab8a76a0a014c39acb787 /sysdeps | |
parent | 995a46bbfba9964e328e3947130919d8bd3cd62a (diff) | |
download | glibc-a832bdd36203fcb37fa5ad25200ef3c1ae205efe.tar.gz glibc-a832bdd36203fcb37fa5ad25200ef3c1ae205efe.tar.xz 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 'sysdeps')
0 files changed, 0 insertions, 0 deletions