MDEV-7943 - pthread_getspecific() takes 0.76% in OLTP RO

Avoid calling current_thd from thd_kill_level(). This reduces number of
pthread_getspecific() calls from 776 to 354.

Also thd_kill_level(NULL) is not permitted anymore: this saves one condition.
This commit is contained in:
Sergey Vojtovich 2015-04-22 14:18:51 +04:00
commit 18f88d6d94
2 changed files with 20 additions and 13 deletions

View file

@ -635,7 +635,7 @@ int ReplSemiSyncMaster::commitTrx(const char* trx_wait_binlog_name,
(int)is_on());
}
while (is_on() && !thd_killed(NULL))
while (is_on() && !thd_killed(current_thd))
{
if (reply_file_name_inited_)
{
@ -747,7 +747,7 @@ int ReplSemiSyncMaster::commitTrx(const char* trx_wait_binlog_name,
At this point, the binlog file and position of this transaction
must have been removed from ActiveTranx.
*/
assert(thd_killed(NULL) ||
assert(thd_killed(current_thd) ||
!active_tranxs_->is_tranx_end_pos(trx_wait_binlog_name,
trx_wait_binlog_pos));