mariadb/storage/innobase
Marko Mäkelä d46b42489a MDEV-24142 preparation: Add srw_mutex and srw_lock::u_lock()
The PERFORMANCE_SCHEMA insists on distinguishing read-update-write
locks from read-write locks, so we must add
template<bool support_u_lock> in rd_lock() and wr_lock() operations.

rd_lock::read_trylock(): Add template<bool prioritize_updater=false>
which is used by the srw_lock_low::read_lock() loop. As long as
an UPDATE lock has already been granted to some thread, we will grant
subsequent READ lock requests even if a waiting WRITE lock request
exists. This will be necessary to be compatible with existing usage
pattern of InnoDB rw_lock_t where the holder of SX-latch (which we
will rename to UPDATE latch) may acquire an additional S-latch
on the same object. For normal read-write locks without update operations
this should make no difference at all, because the rw_lock::UPDATER
flag would never be set.
2020-12-03 15:17:16 +02:00
..
btr MDEV-24167 fixup: Improve the PERFORMANCE_SCHEMA instrumentation 2020-12-03 09:55:53 +02:00
buf Merge 10.5 into 10.6 2020-11-30 11:30:26 +02:00
data
dict Merge 10.5 into 10.6 2020-12-03 08:12:47 +02:00
eval
fil Merge 10.5 into 10.6 2020-11-30 11:30:26 +02:00
fsp MDEV-24167: Replace fil_space::latch 2020-11-24 15:43:12 +02:00
fts MDEV-24167: Replace fts_cache_rw_lock, fts_cache_init_rw_lock with mutex 2020-11-24 15:43:12 +02:00
fut
gis Merge 10.4 into 10.5 2020-10-30 11:15:30 +02:00
ha
handler Merge 10.5 into 10.6 2020-12-03 08:12:47 +02:00
ibuf MDEV-24167: Replace fil_space::latch 2020-11-24 15:43:12 +02:00
include MDEV-24142 preparation: Add srw_mutex and srw_lock::u_lock() 2020-12-03 15:17:16 +02:00
lock Cleanup: Reduce trx_t::mutex hold time 2020-11-24 15:44:55 +02:00
log Merge 10.5 into 10.6 2020-11-26 07:36:53 +02:00
mem
mtr Merge 10.5 into 10.6 2020-12-03 08:12:47 +02:00
mysql-test/storage_engine
os Merge 10.5 into 10.6 2020-11-30 14:04:01 +02:00
page Cleanup: Fix Intel compiler warnings about sign conversions 2020-11-25 11:32:49 +02:00
pars Cleanup: Remove os0proc.* 2020-09-03 16:40:42 +03:00
que Cleanup: Reduce trx_t::mutex hold time 2020-11-24 15:44:55 +02:00
read
rem
row MDEV-24167 fixup: Improve the PERFORMANCE_SCHEMA instrumentation 2020-12-03 09:55:53 +02:00
srv MDEV-24167 fixup: Improve the PERFORMANCE_SCHEMA instrumentation 2020-12-03 09:55:53 +02:00
sync MDEV-24142 preparation: Add srw_mutex and srw_lock::u_lock() 2020-12-03 15:17:16 +02:00
trx MDEV-24167 fixup: Improve the PERFORMANCE_SCHEMA instrumentation 2020-12-03 09:55:53 +02:00
ut MDEV-24308: Remove some os_thread_ functions 2020-11-30 11:15:31 +02:00
.clang-format
bzip2.cmake
CMakeLists.txt MDEV-24167 fixup: Always derive srw_lock from rw_lock 2020-11-30 11:47:09 +02:00
compile-innodb
COPYING.Google
COPYING.Percona
innodb.cmake MDEV-21534 fixup: Remove HAVE_IB_LINUX_FUTEX 2020-11-23 15:45:03 +02:00
lz4.cmake
lzma.cmake
lzo.cmake
plugin_exports
snappy.cmake