#include <scheduler.h>
Public Member Functions | |
input_workload_t () | |
input_workload_t (const std::string &trace_path, std::vector< range_t > regions_of_interest={}) | |
input_workload_t (std::vector< input_reader_t > readers, std::vector< range_t > regions_of_interest={}) | |
Data Fields | |
size_t | struct_size = sizeof(input_workload_t) |
std::string | path |
std::vector< input_reader_t > | readers |
std::set< memref_tid_t > | only_threads |
std::vector< input_thread_info_t > | thread_modifiers |
Specifies the input workloads to be scheduled.
|
inline |
Create an empty workload. This is not a valid final input.
|
inline |
Create a workload coming from a directory of many trace files or from a single trace file where each trace file uses the given regions of interest.
|
inline |
Create a workload with a set of pre-initialized readers which use the given regions of interest.
std::set<memref_tid_t> dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::input_workload_t::only_threads |
If empty, every trace file in 'path' or every reader in 'readers' becomes an enabled input. If non-empty, only those inputs whose thread ids are in this vector are enabled and the rest are ignored.
std::string dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::input_workload_t::path |
A directory of trace files or a single trace file. A reader will be opened for each input file and its init() function will be called; that function will not block (variants where it does block, such as for IPC, should leave 'path' empty and use 'reader' below instead).
std::vector<input_reader_t> dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::input_workload_t::readers |
An alternative to passing in a path and having the scheduler open that file(s) is to directly pass in a reader. This field is only considered if 'path' is empty. The scheduler will call the init() function for each reader at the time of the first access to it through an output stream (supporting IPC readers whose init() blocks).
size_t dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::input_workload_t::struct_size = sizeof(input_workload_t) |
Size of the struct for binary-compatible additions.
std::vector<input_thread_info_t> dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::input_workload_t::thread_modifiers |
Scheduling modifiers for the threads in this workload.