mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Revert the kernel mutex split phase I patch. Some artefacts have been left
in the code but they have nothing to do with the kernel mutex split code. Some subsequent commits use the new functions. This patch has been tested with: ./mtr --suite=innodb with UNIV_DEBUG and UNIV_SYNC_DEBUG enabled. All tests were successful.
This commit is contained in:
@ -239,6 +239,7 @@ extern ibool srv_print_latch_waits;
|
||||
# define srv_print_latch_waits FALSE
|
||||
#endif /* UNIV_DEBUG */
|
||||
|
||||
extern ulint srv_activity_count;
|
||||
extern ulint srv_fatal_semaphore_wait_threshold;
|
||||
extern ulint srv_dml_needed_delay;
|
||||
|
||||
@ -313,6 +314,12 @@ typedef struct export_var_struct export_struc;
|
||||
/** Status variables to be passed to MySQL */
|
||||
extern export_struc export_vars;
|
||||
|
||||
/** The server system */
|
||||
typedef struct srv_sys_struct srv_sys_t;
|
||||
|
||||
/** The server system */
|
||||
extern srv_sys_t* srv_sys;
|
||||
|
||||
# ifdef UNIV_PFS_THREAD
|
||||
/* Keys to register InnoDB threads with performance schema */
|
||||
extern mysql_pfs_key_t trx_rollback_clean_thread_key;
|
||||
@ -414,8 +421,6 @@ enum srv_thread_type {
|
||||
be biggest) */
|
||||
};
|
||||
|
||||
struct srv_slot_struct;
|
||||
|
||||
/*********************************************************************//**
|
||||
Boots Innobase server.
|
||||
@return DB_SUCCESS or error code */
|
||||
@ -466,6 +471,17 @@ srv_set_io_thread_op_info(
|
||||
const char* str); /*!< in: constant char string describing the
|
||||
state */
|
||||
/*********************************************************************//**
|
||||
Releases threads of the type given from suspension in the thread table.
|
||||
NOTE! The server mutex has to be reserved by the caller!
|
||||
@return number of threads released: this may be less than n if not
|
||||
enough threads were suspended at the moment */
|
||||
UNIV_INTERN
|
||||
ulint
|
||||
srv_release_threads(
|
||||
/*================*/
|
||||
enum srv_thread_type type, /*!< in: thread type */
|
||||
ulint n); /*!< in: number of threads to release */
|
||||
/*********************************************************************//**
|
||||
The master thread controlling the server.
|
||||
@return a dummy parameter */
|
||||
UNIV_INTERN
|
||||
@ -612,13 +628,6 @@ void
|
||||
srv_export_innodb_status(void);
|
||||
/*==========================*/
|
||||
|
||||
/******************************************************************//**
|
||||
Increment the server activity counter. */
|
||||
UNIV_INTERN
|
||||
void
|
||||
srv_inc_activity_count(void);
|
||||
/*=========================*/
|
||||
|
||||
/*********************************************************************//**
|
||||
Asynchronous purge thread.
|
||||
@return a dummy parameter */
|
||||
@ -700,6 +709,20 @@ struct export_var_struct{
|
||||
ulint innodb_rows_deleted; /*!< srv_n_rows_deleted */
|
||||
};
|
||||
|
||||
/** Thread slot in the thread table */
|
||||
typedef struct srv_slot_struct srv_slot_t;
|
||||
|
||||
/** Thread table is an array of slots */
|
||||
typedef srv_slot_t srv_table_t;
|
||||
|
||||
/** The server system struct */
|
||||
struct srv_sys_struct{
|
||||
srv_table_t* threads; /*!< server thread table */
|
||||
UT_LIST_BASE_NODE_T(que_thr_t)
|
||||
tasks; /*!< task queue */
|
||||
};
|
||||
|
||||
extern ulint srv_n_threads_active[];
|
||||
#else /* !UNIV_HOTBACKUP */
|
||||
# define srv_use_adaptive_hash_indexes FALSE
|
||||
# define srv_use_checksums TRUE
|
||||
|
Reference in New Issue
Block a user