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 /ChangeLog | |
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 'ChangeLog')
-rw-r--r-- | ChangeLog | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index d5474af375..c2de6f8a05 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2014-06-13 Andi Kleen <ak@linux.intel.com> + + * nptl/pthread_rwlock_rdlock (__pthread_rwlock_rdlock): + Split into __do_pthread_rwlock_rdlock and __pthread_rwlock_rdlock. + * nptl/pthread_rwlock_wrlock (__pthread_rwlock_wrlock): + Split into __do_pthread_rwlock_wrlock and __pthread_wrlock_rdlock. + 2014-06-13 Meador Inge <meadori@codesourcery.com> [BZ #16996] |