[PATCH v7 0/6] Some improvements of resctrl selftest

From: Shaopeng Tan
Date: Mon Feb 13 2023 - 01:28:36 EST


Hello,

The aim of this patch series is to improve the resctrl selftest.
Without these fixes, some unnecessary processing will be executed
and test results will be confusing.
There is no behavior change in test themselves.

[patch 1] Make write_schemata() run to set up shemata with 100% allocation
on first run in MBM test.
[patch 2] The MBA test result message is always output as "ok",
make output message to be "not ok" if MBA check result is failed.
[patch 3] When a child process is created by fork(), the buffer of the
parent process is also copied. Flush the buffer before
executing fork().
[patch 4] An error occurs whether in parents process or child process,
the parents process always kills child process and runs
umount_resctrlfs(), and the child process always waits to be
killed by the parent process.
[patch 5] If a signal received, to cleanup properly before exiting the
parent process, commonize the signal handler registered for
CMT/MBM/MBA tests and reuse it in CAT, also unregister the
signal handler at the end of each test.
[patch 6] Before exiting each test CMT/CAT/MBM/MBA, clear test result
files function cat/cmt/mbm/mba_test_cleanup() are called
twice. Delete once.

This patch series is based on Linux v6.2-rc7.

Difference from v6:
[patch 4]
- Separate patch 4 into patch 4 and patch 5.
- Left the part that cleanup properly when an error occurs in CAT test.
[patch 5]
- Another part that cleanup properly when a signal is received in
each test.
- Only parent process call signal_handler_unregister() in CAT test.
- Correct "Non-Vaule" to "Non-value"
- Rename goto lables.

Pervious versions of this series:
[v1] https://lore.kernel.org/lkml/20220914015147.3071025-1-tan.shaopeng@xxxxxxxxxxxxxx/
[v2] https://lore.kernel.org/lkml/20221005013933.1486054-1-tan.shaopeng@xxxxxxxxxxxxxx/
[v3] https://lore.kernel.org/lkml/20221101094341.3383073-1-tan.shaopeng@xxxxxxxxxxxxxx/
[v4] https://lore.kernel.org/lkml/20221117010541.1014481-1-tan.shaopeng@xxxxxxxxxxxxxx/
[v5] https://lore.kernel.org/lkml/20230111075802.3556803-1-tan.shaopeng@xxxxxxxxxxxxxx/
[v6] https://lore.kernel.org/lkml/20230131054655.396270-1-tan.shaopeng@xxxxxxxxxxxxxx/

Shaopeng Tan (6):
selftests/resctrl: Fix set up schemata with 100% allocation on first
run in MBM test
selftests/resctrl: Return MBA check result and make it to output
message
selftests/resctrl: Flush stdout file buffer before executing fork()
selftests/resctrl: Cleanup properly when an error occurs in CAT test
selftests/resctrl: Commonize the signal handler register/unregister
for all tests
selftests/resctrl: Remove duplicate codes that clear each test result
file

tools/testing/selftests/resctrl/cat_test.c | 29 ++++----
tools/testing/selftests/resctrl/cmt_test.c | 7 +-
tools/testing/selftests/resctrl/fill_buf.c | 14 ----
tools/testing/selftests/resctrl/mba_test.c | 23 +++----
tools/testing/selftests/resctrl/mbm_test.c | 20 +++---
tools/testing/selftests/resctrl/resctrl.h | 2 +
.../testing/selftests/resctrl/resctrl_tests.c | 4 --
tools/testing/selftests/resctrl/resctrl_val.c | 67 ++++++++++++++-----
tools/testing/selftests/resctrl/resctrlfs.c | 5 +-
9 files changed, 96 insertions(+), 75 deletions(-)

--
2.27.0