^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) resctrl_tests - resctrl file system test suit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) Authors:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) Fenghua Yu <fenghua.yu@intel.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) resctrl_tests tests various resctrl functionalities and interfaces including
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) both software and hardware.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) Currently it supports Memory Bandwidth Monitoring test and Memory Bandwidth
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) Allocation test on Intel RDT hardware. More tests will be added in the future.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) And the test suit can be extended to cover AMD QoS and ARM MPAM hardware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) as well.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) BUILD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) -----
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) Run "make" to build executable file "resctrl_tests".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) RUN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) ---
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) To use resctrl_tests, root or sudoer privileges are required. This is because
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) the test needs to mount resctrl file system and change contents in the file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) system.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) Executing the test without any parameter will run all supported tests:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) sudo ./resctrl_tests
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) OVERVIEW OF EXECUTION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) ---------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) A test case has four stages:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) - setup: mount resctrl file system, create group, setup schemata, move test
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) process pids to tasks, start benchmark.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) - execute: let benchmark run
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) - verify: get resctrl data and verify the data with another source, e.g.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) perf event.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) - teardown: umount resctrl and clear temporary files.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) ARGUMENTS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) ---------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) Parameter '-h' shows usage information.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) usage: resctrl_tests [-h] [-b "benchmark_cmd [options]"] [-t test list] [-n no_of_bits]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) -b benchmark_cmd [options]: run specified benchmark for MBM, MBA and CQM default benchmark is builtin fill_buf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) -t test list: run tests specified in the test list, e.g. -t mbm,mba,cqm,cat
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) -n no_of_bits: run cache tests using specified no of bits in cache bit mask
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) -p cpu_no: specify CPU number to run the test. 1 is default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) -h: help