### adrestia-wakeup-periodic is a scheduler wakeup latency
### micro-benchmark. You can configure,
###
###   - the number of threads to wakeup
###   - the period between wakeups (arrival time)
###   - the time threads spin once woken up (service time)
###
### Because scheduler wakeup latency is influenced by CPU frequency, this
### micro-benchmark may indicate a false performance regression if used to
### compare new and old distribution releases running on modern hardware
### (Intel Skylake or newer) if the old release lacks intel_pstate driver
### or intel_idle driver support, and does not throttle CPU frequency
### or change processor C-states on idle systems.

export MMTESTS="adrestia-wakeup-periodic"

# List of monitors
export RUN_MONITOR=yes
export MONITORS_ALWAYS=
export MONITORS_GZIP="proc-vmstat perf-time-stat mpstat turbostat"
export MONITORS_WITH_LATENCY="vmstat"
export MONITOR_PERF_EVENTS=cpu-migrations,context-switches
export MONITOR_UPDATE_FREQUENCY=10

# Adrestia
export ADRESTIA_LOOPS=1000
export ADRESTIA_MIN_ARRIVAL_TIME=32
export ADRESTIA_MAX_ARRIVAL_TIME=$((64*1024))
export ADRESTIA_SERVICE_TIME=25000
export ADRESTIA_ITERATIONS=3
export ADRESTIA_THREADS=$((NUMCPUS*2))
