mariadb/storage/innobase/sync
Jan Lindström 7e71dfa9f5 MDEV-6933: Spurious lock_wait_timeout_thread wakeup in lock_wait_suspend_thread()
Merged Facebooks commit 6e06bbfa315ffb97d713dd6e672d6054036ddc21
authored by Inaam Rana from https://github.com/facebook/mysql-5.6.

Fixes MySQL bug http://bugs.mysql.com/bug.php?id=72123

lock_timeout thread works in a tight loop waking up every second
and checking for lock_wait_timeout. In addition, when a mysql
thread is forced to wait on a lock, it signals the lock_timeout thread
as well. This call is not required. In a heavily contended workload
each thread going to wait will signal the lock_timeout thread making
it work all the time. As lock_timeout thread scans the array of
waiting threads under lock_sys::wait_mutex which is already very
hot in contneded loads, these extra scans can cause significanct
performance regression.

Also, in various codepaths lock_timeout thread is signalled where
actual intention was to signal the innodb monitor thread.
2014-10-24 17:56:04 +03:00
..
sync0arr.cc MDEV-6933: Spurious lock_wait_timeout_thread wakeup in lock_wait_suspend_thread() 2014-10-24 17:56:04 +03:00
sync0rw.cc InnoDB 5.6.20 2014-09-11 16:42:54 +02:00
sync0sync.cc InnoDB 5.6.20 2014-09-11 16:42:54 +02:00