mariadb/storage/innobase/sync
Marko Mäkelä 67da6e6388 MDEV-34431: Avoid spin loops on page I/O waits
While waiting for for I/O completion, let us skip spin loops.
Even on fast storage, reading a page into the buffer pool takes
so long that a spin loop would only end up wasting CPU time.

block_lock::s_lock_nospin(): A no-spin variant of acquiring a shared
buffer page latch. Regular s_lock() always involveis a spin loop.

ssux_lock_impl::rd_lock_spin(), ssux_lock_impl::rd_lock_nospin():
Split from rd_wait().

ssux_lock_impl::rd_lock(): Invoke either rd_lock_nospin() or
rd_lock_try() and rd_lock_spin().

buf_page_get_low(): After acquiring a page latch on an io-fixed block,
try to optimize operations on the page latch.
2025-07-21 09:50:00 +03:00
..
cache.cc MDEV-33447 fixup for POWER 8 2024-04-24 12:39:30 +03:00
srw_lock.cc MDEV-34431: Avoid spin loops on page I/O waits 2025-07-21 09:50:00 +03:00