46 #ifndef UNIV_HOTBACKUP
54 extern const char* srv_main_thread_op_info;
64 extern os_event_t srv_lock_timeout_thread_event;
77 #define SRV_AUTO_EXTEND_INCREMENT \
78 (srv_auto_extend_increment * ((1024 * 1024) / UNIV_PAGE_SIZE))
81 extern ibool srv_lower_case_table_names;
84 extern mutex_t srv_monitor_file_mutex;
86 extern FILE* srv_monitor_file;
90 extern mutex_t srv_dict_tmpfile_mutex;
92 extern FILE* srv_dict_tmpfile;
96 extern mutex_t srv_misc_tmpfile_mutex;
98 extern FILE* srv_misc_tmpfile;
102 extern char* srv_data_home;
103 #ifdef UNIV_LOG_ARCHIVE
104 extern char* srv_arch_dir;
109 #ifndef UNIV_HOTBACKUP
129 extern my_bool srv_use_native_aio;
131 extern ibool srv_use_native_conditions;
133 extern ulint srv_n_data_files;
134 extern char** srv_data_file_names;
135 extern ulint* srv_data_file_sizes;
136 extern ulint* srv_data_file_is_raw_partition;
138 extern ibool srv_auto_extend_last_data_file;
139 extern ulint srv_last_file_size_max;
140 extern char** srv_log_group_home_dirs;
141 #ifndef UNIV_HOTBACKUP
142 extern unsigned int srv_auto_extend_increment;
144 extern ibool srv_created_new_raw;
146 extern ulint srv_n_log_groups;
147 extern ulint srv_n_log_files;
148 extern ulint srv_log_file_size;
149 extern ulint srv_log_buffer_size;
150 extern ulong srv_flush_log_at_trx_commit;
151 extern bool srv_adaptive_flushing;
156 #if defined(BUILD_DRIZZLE)
158 extern bool srv_use_sys_malloc;
161 # ifndef UNIV_HOTBACKUP
162 extern my_bool srv_use_sys_malloc;
164 extern ibool srv_use_sys_malloc;
171 extern ulint srv_mem_pool_size;
172 extern ulint srv_lock_table_size;
174 extern ulint srv_n_file_io_threads;
175 extern ulong srv_read_ahead_threshold;
176 extern ulint srv_n_read_io_threads;
177 extern ulint srv_n_write_io_threads;
180 extern ulong srv_io_capacity;
184 #define PCT_IO(p) ((ulong) (srv_io_capacity * ((double) p / 100.0)))
186 #ifdef UNIV_LOG_ARCHIVE
187 extern ibool srv_log_archive_on;
188 extern ibool srv_archive_recovery;
189 extern ib_uint64_t srv_archive_recovery_limit_lsn;
192 extern char* srv_file_flush_method_str;
193 extern ulint srv_unix_file_flush_method;
194 extern ulint srv_win_file_flush_method;
196 extern ulint srv_max_n_open_files;
198 extern ulint srv_max_dirty_pages_pct;
200 extern ulint srv_force_recovery;
201 extern ulong srv_thread_concurrency;
203 extern ulint srv_max_n_threads;
205 extern lint srv_conc_n_threads;
207 extern ulint srv_fast_shutdown;
214 extern ibool srv_innodb_status;
216 extern ib_uint64_t srv_stats_sample_pages;
218 extern ibool srv_use_doublewrite_buf;
219 extern ibool srv_use_checksums;
221 extern ulong srv_max_buf_pool_modified_pct;
222 extern ulong srv_max_purge_lag;
224 extern ulong srv_replication_delay;
226 extern uint64_t srv_ibuf_max_size;
227 extern uint32_t srv_ibuf_active_contract;
228 extern uint32_t srv_ibuf_accel_rate;
229 extern uint32_t srv_checkpoint_age_target;
230 extern uint32_t srv_flush_neighbor_pages;
231 extern uint32_t srv_read_ahead;
232 extern uint32_t srv_adaptive_flushing_method;
234 extern ibool srv_read_only;
235 extern ibool srv_fake_write;
236 extern ibool srv_apply_log_only;
240 extern ulint srv_n_rows_inserted;
241 extern ulint srv_n_rows_updated;
242 extern ulint srv_n_rows_deleted;
243 extern ulint srv_n_rows_read;
245 extern ibool srv_print_innodb_monitor;
246 extern ibool srv_print_innodb_lock_monitor;
247 extern ibool srv_print_innodb_tablespace_monitor;
248 extern ibool srv_print_verbose_log;
249 extern ibool srv_print_innodb_table_monitor;
251 extern ibool srv_lock_timeout_active;
252 extern ibool srv_monitor_active;
253 extern ibool srv_error_monitor_active;
255 extern ulong srv_n_spin_wait_rounds;
256 extern ulong srv_n_free_tickets_to_enter;
257 extern ulong srv_thread_sleep_delay;
258 extern ulong srv_spin_wait_delay;
259 extern ibool srv_priority_boost;
261 extern ulint srv_truncated_status_writes;
264 extern ibool srv_print_thread_releases;
265 extern ibool srv_print_lock_waits;
266 extern ibool srv_print_buf_io;
267 extern ibool srv_print_log_io;
268 extern ibool srv_print_latch_waits;
270 # define srv_print_thread_releases FALSE
271 # define srv_print_lock_waits FALSE
272 # define srv_print_buf_io FALSE
273 # define srv_print_log_io FALSE
274 # define srv_print_latch_waits FALSE
277 extern ulint srv_activity_count;
278 extern ulint srv_fatal_semaphore_wait_threshold;
279 extern ulint srv_dml_needed_delay;
281 extern mutex_t* kernel_mutex_temp;
285 extern mutex_t* commit_id_mutex_temp;
287 #define kernel_mutex (*kernel_mutex_temp)
288 #define commit_id_mutex (*commit_id_mutex_temp)
290 #define SRV_MAX_N_IO_THREADS 130
294 extern const char* srv_io_thread_op_info[];
295 extern const char* srv_io_thread_function[];
298 extern ulint srv_log_write_requests;
301 extern ulint srv_log_writes;
304 extern ulint srv_os_log_written;
307 extern ulint srv_os_log_pending_writes;
311 extern ulint srv_log_waits;
314 extern ulong srv_n_purge_threads;
317 extern ulong srv_purge_batch_size;
320 extern ulint srv_data_read;
323 extern ulint srv_data_written;
327 extern ulint srv_dblwr_writes;
331 extern ulint srv_dblwr_pages_written;
334 extern ulint srv_buf_pool_write_requests;
339 extern ulint srv_buf_pool_wait_free;
343 extern ulint srv_buf_pool_flushed;
364 # ifdef UNIV_PFS_THREAD
366 extern mysql_pfs_key_t trx_rollback_clean_thread_key;
367 extern mysql_pfs_key_t io_handler_thread_key;
368 extern mysql_pfs_key_t srv_lock_timeout_thread_key;
369 extern mysql_pfs_key_t srv_error_monitor_thread_key;
370 extern mysql_pfs_key_t srv_monitor_thread_key;
371 extern mysql_pfs_key_t srv_master_thread_key;
375 # define pfs_register_thread(key) \
378 struct PSI_thread* psi = PSI_server->new_thread(key, NULL, 0);\
380 PSI_server->set_thread(psi); \
386 # define pfs_delete_thread() \
389 PSI_server->delete_current_thread(); \
448 #ifndef UNIV_HOTBACKUP
732 ulint innodb_buffer_pool_pages_latched;
784 extern ulint srv_n_threads_active[];
786 # define srv_use_adaptive_hash_indexes FALSE
787 # define srv_use_checksums TRUE
788 # define srv_use_native_aio FALSE
789 # define srv_force_recovery 0UL
790 # define srv_set_io_thread_op_info(t,info) ((void) 0)
791 # define srv_is_being_started 0
792 # define srv_win_file_flush_method SRV_WIN_IO_UNBUFFERED
793 # define srv_unix_file_flush_method SRV_UNIX_O_DSYNC
794 # define srv_start_raw_disk_in_use 0
795 # define srv_file_per_table 1