diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2021-09-06 12:16:26 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2021-09-06 12:16:26 +0300 |
commit | a73eedbf3fabd19ca7183b738056c30e3f7bbe35 (patch) | |
tree | 8c50bc095239e2f251f97b063db30fddfb88a0ce /.gitattributes | |
parent | 7730dd392b458748b3de10b127e91deeaea70161 (diff) | |
download | mariadb-git-a73eedbf3fabd19ca7183b738056c30e3f7bbe35.tar.gz |
MDEV-26467 Unnecessary compare-and-swap loop in srw_mutex
srw_mutex::wait_and_lock(): In the spin loop, we will try to poll
for non-conflicting lock word state by reads, avoiding any writes.
We invoke explicit std::atomic_thread_fence(std::memory_order_acquire)
before returning. The individual operations on the lock word
can use memory_order_relaxed.
srw_mutex::lock: Document that the value for a single writer is
HOLDER+1 instead of HOLDER.
srw_mutex::wr_lock_try(), srw_mutex::wr_unlock(): Adjust the value
of the lock word of a single writer from HOLDER to HOLDER+1.
Diffstat (limited to '.gitattributes')
0 files changed, 0 insertions, 0 deletions