EXERCISE-SUT-START(1)
π exercise-sut-start(1) β the manual page bestie, but make it make sense π
okay so. sit down, grab a strawberry π, because we're talking about exercise-sut start, which lives in the exercise-sut manual. this is the part of the toolkit that actually runs your test tool or benchmark and collects the test data. main character energy, honestly. β¨
πΈ COMMAND β exercise-sut start πΈ
the whole vibe, in one line (this is the usage string, verbatim, do not come for me):
usage: exercise-sut start [-h] [-q] [-d] [-H HOSTNAME] [-U USERNAME] [-K
PRIVKEY] [-T TIMEOUT] [--datapoints DATAPOINTS] [--reportid-prefix
REPORTID_PREFIX] [--reportid-suffix REPORTID_SUFFIX] [--cpus CPUS]
[--cstates CSTATES] [--pcstates PCSTATES] [--turbo TURBO] [--freqs
FREQS] [--uncore-freqs UNCORE_FREQS] [--cpufreq-governor GOVERNOR]
[--idle-governor GOVERNOR] [--aspm ASPM] [--c1-demotion C1_DEMOTION]
[--c1-undemotion C1_UNDEMOTION] [--c1e-autopromote C1E_AUTOPROMOTE]
[--cstate-prewake CSTATE_PREWAKE] [--epp EPP] [--epb EPB]
[--state-reset] [--deploy] [--devids DEVIDS] [--stats STATS] [--command
COMMAND] [--stop-on-failure] [--only-measured-cpu] [--toolpath TOOLPATH]
[--cstates-config-strategy {measured-only,measured-and-poll,
measured-and-shallower}] [--use-cstate-filters] [--toolopts TOOLOPTS]
[--outdir OUTDIR] [--dry-run] [--list-monikers]
and what does it do, you ask? it runs a test tool or benchmark to collect test data. that's it. that's the whole job. π«Ά
β¨ OPTIONS β exercise-sut start β¨
every single one, no skipping, i promised.
-hβ shows you this help message, then dips. bye bestie π-qβ be quiet. shhh. the introvert flag. π-dβ print debugging information. everything, all at once, on purpose. π-H HOSTNAME,--host HOSTNAMEβ the name of the host where you want the command to actually run.-U USERNAME,--username USERNAMEβ the user you log into the remote host as over SSH. default username isroot.-K PRIVKEY,--priv-key PRIVKEYβ path to the private SSH key used to log into the remote host. if you don't give one, it gets auto-found from standard paths like~/.ssh.-T TIMEOUT,--timeout TIMEOUTβ SSH connect timeout, in seconds. default is8.--datapoints DATAPOINTS,-c DATAPOINTSβ only applies to thewultandndltools. how many datapoints to collect per measurement. default is100000.--reportid-prefix REPORTID_PREFIXβ a string to prepend to the report ID.--reportid-suffix REPORTID_SUFFIXβ a string to append to the report ID.--cpus CPUSβ only applies to thewultandndltools. comma-separated list of CPU numbers to measure with.--cstates CSTATESβ comma-separated list of requestable C-states to measure with.--pcstates PCSTATESβ comma-separated list of package C-states to measure with.--turbo TURBOβ comma-separated list of turbo configurations to measure with. supported values are"on"and"off".--freqs FREQSβ comma-separated list of frequencies to measure with. for the deets, go look at the--min-freqand--max-freqoptions of thepepc pstates configcommand. there's a special valueunlyou can use to measure with unlocked frequency (minimum frequency gets set to the smallest supported value, and maximum frequency gets set to the highest supported value).--uncore-freqs UNCORE_FREQSβ comma-separated list of package uncore frequencies to measure with. more info lives in the--min-uncore-freqand--max-uncore-freqoptions of thepepc pstates configcommand. special valueunl= unlocked frequency (minimum frequency set to the smallest supported value, maximum frequency set to the highest supported value).--cpufreq-governor GOVERNORβ name of the CPU frequency governor to measure with.--idle-governor GOVERNORβ name of the idle governor to measure with.--aspm ASPMβ comma-separated list of PCIe ASPM configurations to measure with. supported values are"on"and"off".--c1-demotion C1_DEMOTIONβ comma-separated list of C1 demotion configurations to measure with. supported values are"on"and"off".--c1-undemotion C1_UNDEMOTIONβ comma-separated list of C1 undemotion configurations to measure with. supported values are"on"and"off".--c1e-autopromote C1E_AUTOPROMOTEβ comma-separated list of C1E autopromote configurations to measure with. supported values are"on"and"off".--cstate-prewake CSTATE_PREWAKEβ comma-separated list of C-state prewake configurations to measure with. supported values are"on"and"off".--epp EPPβ comma-separated list of EPP configurations to measure with. seepepc pstates config --eppfor more.--epb EPBβ comma-separated list of EPB configurations to measure with. seepepc pstates config --epbfor more.--state-resetβ sets SUT settings back to default values before measurements kick off. the defaults are: online all CPUs, enable all C-states, disable C1 demotion, disable C1 undemotion, disable C1E autopromotion, disable C-state prewake, enable turbo, unlock CPU frequency, unlock uncore frequency, set EPP policy tobalance_performance, set EPB policy tobalance-performance.--deployβ only applies to thewultandndltools. runs thedeploycommand before starting the measurements.--devids DEVIDSβ only applies to thewultandndltools. comma-separated list of device IDs to run the tools with.--stats STATSβ applies to thewult,ndl, andstats-collecttools. comma-separated list of statistics to collect.--command COMMANDβ only applies to thestats-collecttool. the command thatstats-collectshould run. the string"{REPORTID}"insideCOMMANDgets replaced with the report ID, and the string"{CPU}"insideCOMMANDgets replaced with the CPU number.--stop-on-failureβ stop if any of the steps fail, instead of continuing (this is the default).--only-measured-cpuβ when you're changing settings like CPU or uncore frequency, change them only for the measured CPU. some settings have a scope bigger than "CPU" β for example, C-states limit scope may be "package", and uncore frequency scope may be "die". in those cases, only the package/die that includes the measured CPU gets changed. by default, settings are applied to all CPUs, packages, dies. heads up though: this option does not exclude I/O dies β use--skip-io-diesfor that.--skip-io-diesβ skip I/O dies when you're changing die-scope settings like uncore frequency. even though I/O dies don't have CPUs, by default they get configured the same way as compute dies.--toolpath TOOLPATHβ path to the tool to run. default iswult.--cstate-config-strategy {measured-only,measured-and-poll,measured-and-shallower}β the C-state configuration strategy used for measuring the system. the default ismeasured-only.--use-cstate-filtersβ applies to thewultandndltools. uses filters to exclude datapoints with zero residency of the measured C-state.--toolopts TOOLOPTSβ extra options to use when running the tool. the string"__reportid__"gets replaced with the generated report ID.--outdir OUTDIR,-o OUTDIRβ path to the directory where results get stored. default is<toolname-date-time>.--dry-runβ doesn't run any commands, just prints them. β¨vibes only, no consequencesβ¨--list-monikersβ a moniker is basically a lil abbreviation for a setting.exercise-sutuses monikers to build directory names and report IDs for collected results. use this option to list the monikers tied to each setting (if there are any), then exit.
π friendly reminder:--stop-on-failureis the default behaviour, and--only-measured-cpuwill not save your I/O dies. read the fine print, bestie.
π sign-off π
and that's the page! this one's dated 2024-03-08 β that's all the version/source info the footer had for us (it was literally just a pair of empty parens, iconic of it honestly () ()). go forth and measure, you absolute legend ππ no cap, you ate.
π¦ where this page comes from
- fedora 43: wult 1.12.48-2.fc43 Β· BSD-3-Clause AND GPL-2.0-only
- fedora 44: wult 1.12.48-2.fc44 Β· BSD-3-Clause AND GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms