134#define log_flusher_mutex_enter(log) mutex_enter(&((log).flusher_mutex))
136#define log_flusher_mutex_enter_nowait(log) \
137 mutex_enter_nowait(&((log).flusher_mutex))
139#define log_flusher_mutex_exit(log) mutex_exit(&((log).flusher_mutex))
141#define log_flusher_mutex_own(log) \
142 (mutex_own(&((log).flusher_mutex)) || !log_flusher_is_active())
144#define log_flush_notifier_mutex_enter(log) \
145 mutex_enter(&((log).flush_notifier_mutex))
147#define log_flush_notifier_mutex_exit(log) \
148 mutex_exit(&((log).flush_notifier_mutex))
150#define log_flush_notifier_mutex_own(log) \
151 (mutex_own(&((log).flush_notifier_mutex)) || !log_flush_notifier_is_active())
153#define log_writer_mutex_enter(log) mutex_enter(&((log).writer_mutex))
155#define log_writer_mutex_enter_nowait(log) \
156 mutex_enter_nowait(&((log).writer_mutex))
158#define log_writer_mutex_exit(log) mutex_exit(&((log).writer_mutex))
160#define log_writer_mutex_own(log) \
161 (mutex_own(&((log).writer_mutex)) || !log_writer_is_active())
163#define log_write_notifier_mutex_enter(log) \
164 mutex_enter(&((log).write_notifier_mutex))
166#define log_write_notifier_mutex_exit(log) \
167 mutex_exit(&((log).write_notifier_mutex))
169#define log_write_notifier_mutex_own(log) \
170 (mutex_own(&((log).write_notifier_mutex)) || !log_write_notifier_is_active())
201 std::chrono::microseconds
interval) {
202 return interval < std::chrono::milliseconds{1};
218#define log_writer_mutex_own(log) true
uint64_t lsn_t
Type used for all log sequence number storage and arithmetic.
Definition: log0types.h:63
bool log_writer_is_active()
Checks if log writer thread is active.
Definition: log0write.h:174
void log_flusher(log_t *log_ptr)
The log flusher thread routine.
Definition: log0write.cc:2494
bool log_flush_notifier_is_active()
Checks if log flush notifier thread is active.
Definition: log0write.h:192
void log_control_writer_threads(log_t &log)
Pause / resume the log writer, the log flusher, the log write notifier and the log flush notifier thr...
Definition: log0log.cc:1101
void log_write_notifier(log_t *log_ptr)
The log write notifier thread routine.
Definition: log0write.cc:2631
bool log_flusher_is_active()
Checks if log flusher thread is active.
Definition: log0write.h:186
void log_writer_thread_active_validate()
Validates that the log writer thread is active.
Definition: log0log.cc:871
uint64_t log_total_flushes()
Total number of redo log flushes (fsyncs) that have been started since the redo log system (log_sys) ...
Definition: log0write.cc:2416
bool log_write_notifier_is_active()
Checks if log write notifier thread is active.
Definition: log0write.h:180
Wait_stats log_write_up_to(log_t &log, lsn_t lsn, bool flush_to_disk)
Waits until the redo log is written up to a provided lsn.
Definition: log0write.cc:1055
void log_background_write_threads_active_validate(const log_t &log)
Validates that the log writer, flusher threads are active.
Definition: log0log.cc:873
void log_writer_check_if_exited_extra_margin(log_t &log)
Checks if the redo log writer exited extra margin.
Definition: log0write.cc:1869
void log_writer(log_t *log_ptr)
The log writer thread routine.
Definition: log0write.cc:2229
void log_flush_notifier(log_t *log_ptr)
The log flush notifier thread routine.
Definition: log0write.cc:2753
uint64_t log_pending_flushes()
Number of currently pending redo log flushes (fsyncs in-progress).
Definition: log0write.cc:2418
bool log_write_to_file_requests_are_frequent(std::chrono::microseconds interval)
Checks if requests to write redo log buffer to disk are frequent (which means that there is at least ...
Definition: log0write.h:200
static int interval
Definition: mysqladmin.cc:71
bool srv_thread_is_active(const IB_thread &thread)
Check if given thread is still active.
Definition: srv0srv.cc:3261
Srv_threads srv_threads
Structure with state of srv background threads.
Definition: srv0srv.cc:104
IB_thread m_log_flush_notifier
Redo flush notifier thread.
Definition: srv0srv.h:188
IB_thread m_log_flusher
Redo flusher thread.
Definition: srv0srv.h:182
IB_thread m_log_write_notifier
Redo write notifier thread.
Definition: srv0srv.h:185
IB_thread m_log_writer
Redo writer thread.
Definition: srv0srv.h:179
Redo log - single data structure with state of the redo log system.
Definition: log0sys.h:77
std::atomic< std::chrono::microseconds > write_to_file_requests_interval
How often redo write/flush is requested in average.
Definition: log0sys.h:191
static uint64_t lsn
Definition: xcom_base.cc:446