--- title: "dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::scheduler_options_t Struct Reference" layout: default permalink: /structdynamorio_1_1drmemtrace_1_1scheduler__tmpl__t_1_1scheduler__options__t.html ---
DynamoRIO
dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::scheduler_options_t Struct Reference

#include <scheduler.h>

Public Member Functions

 scheduler_options_t ()
 
 scheduler_options_t (mapping_t mapping, inter_input_dependency_t deps, scheduler_flags_t flags=SCHEDULER_DEFAULTS, int verbosity=0)
 

Data Fields

size_t struct_size = sizeof(scheduler_options_t)
 
mapping_t mapping = MAP_TO_ANY_OUTPUT
 
inter_input_dependency_t deps = DEPENDENCY_IGNORE
 
scheduler_flags_t flags = SCHEDULER_DEFAULTS
 
quantum_unit_t quantum_unit = QUANTUM_INSTRUCTIONS
 
uint64_t quantum_duration = 10 * 1000 * 1000
 
int verbosity = 0
 
archive_ostream_t * schedule_record_ostream = nullptr
 
archive_istream_t * schedule_replay_istream = nullptr
 
archive_istream_t * replay_as_traced_istream = nullptr
 

Detailed Description

template<typename RecordType, typename ReaderType>
struct dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::scheduler_options_t

Collects the parameters specifying how the scheduler should behave, outside of the workload inputs and the output count.

Constructor & Destructor Documentation

◆ scheduler_options_t() [1/2]

template<typename RecordType , typename ReaderType >
dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::scheduler_options_t::scheduler_options_t ( )
inline

Constructs a default set of options.

◆ scheduler_options_t() [2/2]

template<typename RecordType , typename ReaderType >
dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::scheduler_options_t::scheduler_options_t ( mapping_t mapping,
inter_input_dependency_t deps,
scheduler_flags_t flags = SCHEDULER_DEFAULTS,
int verbosity = 0 )
inline

Constructs a set of options with the given type and strategy.

Field Documentation

◆ deps

template<typename RecordType , typename ReaderType >
inter_input_dependency_t dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::scheduler_options_t::deps = DEPENDENCY_IGNORE

How inter-input dependencies are handled.

◆ flags

template<typename RecordType , typename ReaderType >
scheduler_flags_t dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::scheduler_options_t::flags = SCHEDULER_DEFAULTS

Optional flags affecting scheduler behavior.

◆ mapping

template<typename RecordType , typename ReaderType >
mapping_t dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::scheduler_options_t::mapping = MAP_TO_ANY_OUTPUT

The mapping of inputs to outputs.

◆ quantum_duration

template<typename RecordType , typename ReaderType >
uint64_t dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::scheduler_options_t::quantum_duration = 10 * 1000 * 1000

The scheduling quantum duration for preemption. The units are specified by dynamorio::drmemtrace::scheduler_tmpl_t::scheduler_options_t::quantum_unit.

◆ quantum_unit

template<typename RecordType , typename ReaderType >
quantum_unit_t dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::scheduler_options_t::quantum_unit = QUANTUM_INSTRUCTIONS

The unit of the schedule time quantum.

◆ replay_as_traced_istream

template<typename RecordType , typename ReaderType >
archive_istream_t* dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::scheduler_options_t::replay_as_traced_istream = nullptr

Input stream for replaying the traced schedule when MAP_TO_RECORDED_OUTPUT is specified for more than one output stream (whose count must match the number of traced cores).

◆ schedule_record_ostream

template<typename RecordType , typename ReaderType >
archive_ostream_t* dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::scheduler_options_t::schedule_record_ostream = nullptr

Output stream for recording the schedule for later replay. write_recorded_schedule() must be called when finished to write the in-memory data out to this stream.

◆ schedule_replay_istream

template<typename RecordType , typename ReaderType >
archive_istream_t* dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::scheduler_options_t::schedule_replay_istream = nullptr

Input stream for replaying a previously recorded schedule when MAP_AS_PREVIOUSLY is specified. If this is non-nullptr and MAP_AS_PREVIOUSLY is specified, schedule_record_ostream must be nullptr, and most other fields in this struct controlling scheduling are ignored.

◆ struct_size

template<typename RecordType , typename ReaderType >
size_t dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::scheduler_options_t::struct_size = sizeof(scheduler_options_t)

Size of the struct for binary-compatible additions.

◆ verbosity

template<typename RecordType , typename ReaderType >
int dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::scheduler_options_t::verbosity = 0

If > 0, diagnostic messages are printed to stderr. Higher values produce more frequent diagnostics.


The documentation for this struct was generated from the following file: