24 #ifndef SEASTAR_MODULE
27 #include <seastar/util/program-options.hh>
28 #include <seastar/util/memory_diagnostics.hh>
29 #include <seastar/util/modules.hh>
34 struct reactor_config {
35 bool auto_handle_sigint_sigterm =
true;
36 unsigned max_networking_aio_io_control_blocks = 10000;
40 class reactor_backend_selector;
41 class network_stack_factory;
169 bool _auto_handle_sigint_sigterm =
true;
Definition: program-options.hh:290
Definition: program-options.hh:414
Seastar API namespace.
Definition: abort_on_ebadf.hh:26
Configuration for the reactor.
Definition: reactor_config.hh:45
program_options::value abort_on_seastar_bad_alloc
Abort when seastar allocator cannot allocate memory.
Definition: reactor_config.hh:123
program_options::value overprovisioned
Run in an overprovisioned environment (such as docker or a laptop).
Definition: reactor_config.hh:121
program_options::value< bool > linux_aio_nowait
Use the Linux NOWAIT AIO feature, which reduces reactor stalls due to aio (autodetected).
Definition: reactor_config.hh:103
program_options::value< double > io_latency_goal_ms
Max time (ms) IO operations must take.
Definition: reactor_config.hh:71
program_options::value relaxed_dma
Allow using buffered I/O if DMA is not available (reduces performance).
Definition: reactor_config.hh:100
program_options::value< memory::alloc_failure_kind > dump_memory_diagnostics_on_alloc_failure_kind
Dump diagnostics of the seastar allocator state on allocation failure.
Definition: reactor_config.hh:138
program_options::value poll_mode
Poll continuously (100% cpu use).
Definition: reactor_config.hh:55
program_options::value< double > task_quota_ms
Max time (ms) between polls.
Definition: reactor_config.hh:67
program_options::value< unsigned > max_networking_io_control_blocks
Maximum number of I/O control blocks (IOCBs) to allocate per shard.
Definition: reactor_config.hh:159
program_options::value no_handle_interrupt
Ignore SIGINT (for gdb).
Definition: reactor_config.hh:165
program_options::value< bool > force_aio_syscalls
Force io_getevents(2) to issue a system call, instead of bypassing the kernel when possible.
Definition: reactor_config.hh:129
program_options::value< bool > blocked_reactor_report_format_oneline
Print a simplified backtrace on a single line.
Definition: reactor_config.hh:98
program_options::value< double > io_flow_ratio_threshold
Definition: reactor_config.hh:79
program_options::value heapprof
Enable seastar heap profiling.
Definition: reactor_config.hh:163
program_options::selection_value< reactor_backend_selector > reactor_backend
Internal reactor implementation.
Definition: reactor_config.hh:147
program_options::value< bool > poll_aio
Busy-poll for disk I/O.
Definition: reactor_config.hh:63
program_options::value< bool > kernel_page_cache
Use the kernel page cache.
Definition: reactor_config.hh:114
program_options::value< unsigned > blocked_reactor_notify_ms
Threshold in milliseconds over which the reactor is considered blocked if no progress is made.
Definition: reactor_config.hh:90
program_options::value< unsigned > blocked_reactor_reports_per_minute
Maximum number of backtraces reported by stall detector per minute.
Definition: reactor_config.hh:94
program_options::value< bool > aio_fsync
Use Linux aio for fsync() calls.
Definition: reactor_config.hh:151
program_options::value< bool > unsafe_bypass_fsync
Bypass fsync(), may result in data loss.
Definition: reactor_config.hh:108
program_options::value< unsigned > max_task_backlog
Maximum number of task backlog to allow.
Definition: reactor_config.hh:85
program_options::value< unsigned > idle_poll_time_us
Idle polling time in microseconds.
Definition: reactor_config.hh:59
program_options::selection_value< network_stack_factory > network_stack
Select network stack to use.
Definition: reactor_config.hh:53