summaryrefslogtreecommitdiff
path: root/storage/innobase/include/sync0rw.ic
diff options
context:
space:
mode:
Diffstat (limited to 'storage/innobase/include/sync0rw.ic')
-rw-r--r--storage/innobase/include/sync0rw.ic18
1 files changed, 2 insertions, 16 deletions
diff --git a/storage/innobase/include/sync0rw.ic b/storage/innobase/include/sync0rw.ic
index 7fcac01e5ba..169cbdd9aa5 100644
--- a/storage/innobase/include/sync0rw.ic
+++ b/storage/innobase/include/sync0rw.ic
@@ -226,22 +226,8 @@ rw_lock_lock_word_decr(
caused by concurrent executions of
rw_lock_s_lock(). */
-#if 1 /* FIXME: MDEV-22871 Spurious contention between rw_lock_s_lock() */
-
- /* When the number of concurrently executing threads
- exceeds the number of available processor cores,
- multiple buf_pool.page_hash S-latch requests would
- conflict here, mostly in buf_page_get_low(). We should
- implement a simpler rw-lock where the S-latch
- acquisition would be a simple fetch_add(1) followed by
- either an optional load() loop to wait for the X-latch
- to be released, or a fetch_sub(1) and a retry.
-
- For now, we work around the problem with a delay in
- this loop. It helped a little on some systems and was
- reducing performance on others. */
- (void) LF_BACKOFF();
-#endif
+ /* Note: unlike this implementation, rw_lock::read_lock()
+ allows concurrent calls without a spin loop */
}
/* A real conflict was detected. */