=== modified file 'storage/innobase/api/api0api.cc' --- storage/innobase/api/api0api.cc 2014-01-22 22:31:23 +0000 +++ storage/innobase/api/api0api.cc 2014-07-01 20:38:28 +0000 @@ -205,10 +205,9 @@ }; /** The following counter is used to convey information to InnoDB -about server activity: in selects it is not sensible to call -srv_active_wake_master_thread after each fetch or search, we only do -it every INNOBASE_WAKE_INTERVAL'th step. */ - +about server activity: in case of normal DML ops it is not +sensible to call srv_active_wake_master_thread after each +operation, we only do it every INNOBASE_WAKE_INTERVAL'th step. */ #define INNOBASE_WAKE_INTERVAL 32 /*****************************************************************//** @@ -707,8 +706,6 @@ /* It should always succeed */ ut_a(err == DB_SUCCESS); - ib_wake_master_thread(); - return(err); } @@ -1654,7 +1651,7 @@ src_tuple->index->table, q_proc->grph.ins, node->ins); } - srv_active_wake_master_thread(); + ib_wake_master_thread(); return(err); } @@ -1940,7 +1937,7 @@ err = ib_execute_update_query_graph(cursor, pcur); } - srv_active_wake_master_thread(); + ib_wake_master_thread(); return(err); } @@ -2069,7 +2066,7 @@ err = DB_RECORD_NOT_FOUND; } - srv_active_wake_master_thread(); + ib_wake_master_thread(); return(err); } === modified file 'storage/innobase/handler/ha_innodb.cc' --- storage/innobase/handler/ha_innodb.cc 2014-04-09 17:27:43 +0000 +++ storage/innobase/handler/ha_innodb.cc 2014-07-01 20:38:28 +0000 @@ -228,10 +228,9 @@ }; /* The following counter is used to convey information to InnoDB -about server activity: in selects it is not sensible to call -srv_active_wake_master_thread after each fetch or search, we only do -it every INNOBASE_WAKE_INTERVAL'th step. */ - +about server activity: in case of normal DML ops it is not +sensible to call srv_active_wake_master_thread after each +operation, we only do it every INNOBASE_WAKE_INTERVAL'th step. */ #define INNOBASE_WAKE_INTERVAL 32 static ulong innobase_active_counter = 0; @@ -3570,10 +3569,6 @@ innobase_srv_conc_force_exit_innodb(trx); - /* Tell the InnoDB server that there might be work for utility - threads: */ - srv_active_wake_master_thread(); - DBUG_RETURN(0); } @@ -10050,11 +10045,6 @@ log_buffer_flush_to_disk(); - /* Tell the InnoDB server that there might be work for - utility threads: */ - - srv_active_wake_master_thread(); - innobase_commit_low(trx); trx_free_for_mysql(trx); @@ -10136,11 +10126,6 @@ log_buffer_flush_to_disk(); - /* Tell the InnoDB server that there might be work for - utility threads: */ - - srv_active_wake_master_thread(); - innobase_commit_low(trx); trx_free_for_mysql(trx); } @@ -10290,11 +10275,6 @@ DEBUG_SYNC(thd, "after_innobase_rename_table"); - /* Tell the InnoDB server that there might be work for - utility threads: */ - - srv_active_wake_master_thread(); - innobase_commit_low(trx); trx_free_for_mysql(trx); @@ -13588,11 +13568,6 @@ trx_mark_sql_stat_end(trx); } - /* Tell the InnoDB server that there might be work for utility - threads: */ - - srv_active_wake_master_thread(); - if (thd_sql_command(thd) != SQLCOM_XA_PREPARE && (prepare_trx || !thd_test_options( === modified file 'storage/innobase/handler/handler0alter.cc' --- storage/innobase/handler/handler0alter.cc 2014-02-17 09:42:16 +0000 +++ storage/innobase/handler/handler0alter.cc 2014-07-01 20:38:28 +0000 @@ -3176,9 +3176,6 @@ delete ctx; ha_alter_info->handler_ctx = NULL; - /* There might be work for utility threads.*/ - srv_active_wake_master_thread(); - DBUG_RETURN(true); } @@ -4195,7 +4192,6 @@ } trx_commit_for_mysql(prebuilt->trx); - srv_active_wake_master_thread(); MONITOR_ATOMIC_DEC(MONITOR_PENDING_ALTER_TABLE); DBUG_RETURN(fail); } === modified file 'storage/innobase/trx/trx0roll.cc' --- storage/innobase/trx/trx0roll.cc 2013-06-10 20:44:22 +0000 +++ storage/innobase/trx/trx0roll.cc 2014-07-01 20:38:28 +0000 @@ -126,6 +126,8 @@ mem_heap_free(heap); + srv_active_wake_master_thread(); + MONITOR_DEC(MONITOR_TRX_ACTIVE); } @@ -143,20 +145,10 @@ { ut_ad(!trx_mutex_own(trx)); - /* Tell Innobase server that there might be work for - utility threads: */ - - srv_active_wake_master_thread(); - trx_start_if_not_started_xa(trx); trx_rollback_to_savepoint_low(trx, savept); - /* Tell Innobase server that there might be work for - utility threads: */ - - srv_active_wake_master_thread(); - return(trx->error_state); } @@ -169,8 +161,6 @@ /*=======================*/ trx_t* trx) /*!< in/out: transaction */ { - srv_active_wake_master_thread(); - trx->op_info = "rollback"; /* If we are doing the XA recovery of prepared transactions, @@ -184,8 +174,6 @@ ut_a(trx->error_state == DB_SUCCESS); - srv_active_wake_master_thread(); - return(trx->error_state); } === modified file 'storage/innobase/trx/trx0trx.cc' --- storage/innobase/trx/trx0trx.cc 2014-03-31 13:09:59 +0000 +++ storage/innobase/trx/trx0trx.cc 2014-07-01 20:38:28 +0000 @@ -1279,6 +1279,11 @@ } trx->commit_lsn = lsn; + + /* Tell server some activity has happened. Background + utility threads like master thread, purge thread or + page_cleaner thread might have some work to do. */ + srv_active_wake_master_thread(); } /* undo_no is non-zero if we're doing the final commit. */