PERF-TEST(1)
π PERF-TEST(1) β the perf Manual's own sanity-check queen π
okay bestie, buckle up, because this is perf test from the perf Manual and it is literally the vibe check of your whole system β¨
πΈ NAME πΈ
perf-test β runs sanity tests, no cap π«Ά
π SYNOPSIS π
perf test [<options>] [{list <test-name-fragment>|[<test-name-fragments>|<test-numbers>]}]
π¦ DESCRIPTION π¦
so this command runs assorted sanity tests, okay? at first it does them through linked routines, but it also goes looking for a directory that has more tests in it, in the form of scripts π it's giving "there's always more where that came from."
wanna see what's on the menu? run perf test list π
and if you throw a test name fragment at it, it'll show you every single test that has that fragment in it. obsessed.
and if you only wanna run specific tests? just tell it the test name fragments, or the numbers you got from perf test list. easy peasy π
β¨ OPTIONS β¨
-s,--skipβ tests to skip, as a comma separated numeric list. not today, bestie π-v,-vv,-vvv,--verboseβ with a single-vyou get verbose level 1, which only shows you the output of the tests that fail. with-vvand higher, all test output is shown, the whole thing, every last crumb π-S,--sequentialβ runs all tests one after the other. by default the "exclusive" tests are run sequentially anyway, but the other tests get run in parallel to speed execution up. this flag says nope, line up, everybody in single file π§-r,--runs-per-testβ run each test the given number of times, and by default it's once. this one is lowkey so useful for figuring out if a test is flaky, fr fr π₯-F,--dont-forkβ do not fork a child for each test; run all the tests inside a single process instead. heads up though: this sets sequential mode π--dsoβ specify a DSO for the "Symbols" test π-w,--workload=β run a built-in workload. to list them all use--list-workloads, and the current ones include:noploop,thloop,leafloop,sqrtloop,brstack,datasym,context_switch_loop,deterministic,named_threads,landlockandcallchainπ
this is used with the shell script regression tests π«Ά
some of them accept an extra parameter:
seconds:leafloop,noploop,sqrtloop,thloopnrloops:brstack,context_switch_loop
and named_threads accepts the number of threads and the number of loops to do in each thread π
the datasym, landlock, deterministic and callchain workloads don't accept any. nothing, zero, zilch π
--list-workloadsβ lists the available workloads to use with-w/--workload. you're welcome β¨--record-ctl=fifo:ctl-fifo[,ack-fifo]β okay so this option is used to communicate with aperf recordsession in order to control the recording scope so it only covers the workload, and to avoid recording the setup and teardown code. main character energy tbh π
when you specify this option, the same FIFO path must be specified in the record session via:
perf record -D -1 --control=fifo:ctl-fifo[,ack-fifo] ...
perf test sends enable and disable commands through ctl-fifo to control event recording. and if ack-fifo is provided, the workload runner waits for an ack response after each command π¦
ngl bestie, if you're wiring up FIFOs for your recording scope, double-check those paths match on both sides β that's the whole trick, iykyk π
and that's the whole page, bestie π this was perf test out of the perf Manual, dated 10/31/2026, living at PERF-TEST(1) β go forth and run your sanity tests, slay π
π
π¦ where this page comes from
- arch rolling: perf 7.3.1-1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms