mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 13:02:28 +01:00
7e71dfa9f5
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. |
||
---|---|---|
.. | ||
lock0iter.cc | ||
lock0lock.cc | ||
lock0wait.cc |