resctrl_tests - resctrl file system test suit

Authors:
	Fenghua Yu <fenghua.yu@intel.com>
	Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>,

resctrl_tests tests various resctrl functionalities and interfaces including
both software and hardware.

Currently it supports Memory Bandwidth Monitoring test and Memory Bandwidth
Allocation test on Intel RDT hardware. More tests will be added in the future.
And the test suit can be extended to cover AMD QoS and ARM MPAM hardware
as well.

resctrl_tests can be run with or without kselftest framework.

WITH KSELFTEST FRAMEWORK
=======================

BUILD
-----

Build executable file "resctrl_tests" from top level directory of the kernel source:
 $ make -C tools/testing/selftests TARGETS=resctrl

RUN
---

Run resctrl_tests as sudo or root since the test needs to mount resctrl file
system and change contents in the file system.
Using kselftest framework will run all supported tests within resctrl_tests:

 $ sudo make -C tools/testing/selftests TARGETS=resctrl run_tests

More details about kselftest framework can be found in
Documentation/dev-tools/kselftest.rst.

WITHOUT KSELFTEST FRAMEWORK
===========================

BUILD
-----

Build executable file "resctrl_tests" from this directory(tools/testing/selftests/resctrl/):
  $ make

RUN
---

Run resctrl_tests as sudo or root since the test needs to mount resctrl file
system and change contents in the file system.
Executing the test without any parameter will run all supported tests:

 $ sudo ./resctrl_tests

OVERVIEW OF EXECUTION
=====================

A test case has four stages:

  - setup: mount resctrl file system, create group, setup schemata, move test
    process pids to tasks, start benchmark.
  - execute: let benchmark run
  - verify: get resctrl data and verify the data with another source, e.g.
    perf event.
  - teardown: umount resctrl and clear temporary files.

ARGUMENTS
=========

Parameter '-h' shows usage information.

usage: resctrl_tests [-h] [-b "benchmark_cmd [options]"] [-t test list] [-n no_of_bits]
        -b benchmark_cmd [options]: run specified benchmark for MBM, MBA and CMT default benchmark is builtin fill_buf
        -t test list: run tests specified in the test list, e.g. -t mbm,mba,cmt,cat
        -n no_of_bits: run cache tests using specified no of bits in cache bit mask
        -p cpu_no: specify CPU number to run the test. 1 is default
        -h: help
