-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdefault.options
131 lines (97 loc) · 4.15 KB
/
default.options
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# This configuration file is used to generate options.h and options.cpp.
# Execute lib/common/get_opt.pl to obtain the options codes like:
# get_opt.pl <default.options path> <options.h directory path> <options.cpp path>
#
# In the runtime, a dump.options will be generated to backup options.
# Also, you can create a local.options file to modify the options value
# at runtime.
# determine whether DMT system is turned on or not.
DMT = 1
# seed for seeded round-robin scheduler
scheduler_seed = 0x12345
# scheduling policy, options are:
# 0. round robin policy
# 1. critical section first policy (csf)
# 2. satisfying cv wait first policy (scwf)
# 4. Move threads from wait queue to a high priority queue when signaled.
# To enable multipel policies together, just set it to the sum of all values. (3,5,6,7)
scheduling_policy = 0
# determine the output log format, options are:
# 1. bin binary log of instructions
# 2. txt text log of synchronizations
log_type = txt
# default output directory
output_dir = ./dmt_out
# if turned on, dynamic library will obtain eip
dync_geteip = 0
# if turned on, dynamic library will use signature of the whole stack instead of eip, DEPTH_LIMIT=20
whole_stack_eip_signature = 0
# if turned on, record-schedule will do sleep, otherwise simple bypass sleep.
exec_sleep = 0
# if turned on, mutex_init will automatically set attr to PTHREAD_MUTEX_ERRORCHECK
set_mutex_errorcheck = 0
# this number set the conversion between physical time and turn number.
# notice better to set this number of a 32-bit integer.
nanosec_per_turn = 3000
# whether we ignore read/write to regular files
RR_ignore_rw_regular_file = 1
# determine whether we start an idle thread to avoid empty runq
# 0. Never launch.
# 1. Always launch.
# 2. Launch only when needed. (default)
launch_idle_thread = 2
# determine whether or not put process ID in the logfilename
pid_in_logfilename = 1
# if set all sockets as non-block and enforce maximum recv buffer.
non_block_recv = 0
# If turned on, soft barriers are ignored.
disable_soba = 0
# If turned on, enforce the non-deterministic primitive at runtime.
enforce_non_det_annotations = 0
# If turned on, enforce slock_next_n primitive to allow locking scheduler on a thread for several turns.
enforce_next_n_annotations = 0
# If turned on, enforce ext_get_turn and ext_put_turn.
enforce_ext_turn = 0
# If turned on, dummy_sync inserted in the source code would try to get a turn.
enforce_dummy_sync = 0
# Specify the bound of non-determinism (the window of logical clocks that allows the pcs_exit() to return).
enforce_non_det_clock_bound = 0
non_det_clock_bound = 1000
# if turned on, sync operations will be logged.
log_sync = 0
# the algorithm to enforce turn, options are:
# 1. Value: 1 semaphore.
# 2. Value: 2 busy wait flag + cond wait (default).
# 3. Value: 3 busy wait only.
# 4. Value < 0 null policy.
enforce_turn_type = 2
# if turned on, enforce xtern annotations such as lineup, workload and non_det.
enforce_annotations = 1
# if turned on, record runtime stat such as # of sync operations called.
record_runtime_stat = 0
# Use non-det when there is only one thread
non_det_for_single_thread = 0
# if turned on, record the runtime rdtsc value at begin and end of sync operations.
record_rdtsc = 0
rdtsc_output_dir = ./dmt_rdtsc_out
# logger backtrace level
# default 0: print the address of the lock and unlock.
# possible value: -5 to +inf
backtrace_level = 0
# Consider caller address and thread role for WakeAMAP policy
wakeamap_plus = 0
# if the runtime should read app.time file to enforce delays
enforce_delays = 0
# log execution time in annotated task regions
log_task_time = 0
# enforce non_det annotation that itself does not take turn.
# default: 0 disable
# 1 enable
# 2 treat no_wait_pcs as disable no_cswhole localy
enforce_no_wait_non_det_annotations = 0
# yield call will be inserted after all other yielded threads and one not yielded thread.
high_priority_yield = 0
# If turned on, enforce no_cswhole_local annotations
enforce_no_cswhole_annotations = 0
# print a statistics on what syncs has been called
generate_per_sync_stats = 0