mariadb/storage/innobase/buf
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
..
buf0buddy.cc Merge 10.11 into 11.4 2025-05-13 13:44:58 +03:00
buf0buf.cc MDEV-34431: Avoid spin loops on page I/O waits 2025-07-21 09:50:00 +03:00
buf0checksum.cc Cleanup: Replace ut_crc32c(x,y) with my_crc32c(0,x,y) 2022-01-21 16:13:04 +02:00
buf0dblwr.cc Merge branch '10.11' into 11.4 2025-04-26 10:53:02 +02:00
buf0dump.cc Merge 10.11 into 11.4 2025-03-28 13:55:21 +02:00
buf0flu.cc Merge branch '10.11' into 11.4 2025-06-17 09:50:22 +02:00
buf0lru.cc Merge 10.11 into 11.4 2025-05-13 13:44:58 +03:00
buf0rea.cc Merge 10.11 into 11.4 2025-03-28 13:55:21 +02:00