[LTP] [PATCH v4 00/19] Expand Cgroup lib and modify controller tests
Luke Nowakowski-Krijger
luke.nowakowskikrijger@canonical.com
Thu Apr 28 22:39:25 CEST 2022
This patchset aims to expand the cgroup_lib shell library to simplify
and centralize the whole mounting and cleanup process that can get
rather confusing and redundant when writing cgroup controller tests from
a shell environment. This is done by having the shell library make calls
to the C cgroup API from a binary utility.
In this patch set there are a few tests that have been extensively
rewritten to work with the new test API and to use the new functionality
from the cgroup lib. Because the test Cgroup lib handles mounting for v1
and v2 controllers, some tests were modified to also work under cgroup
v2. Some tests that were written for v1 controller also effictively test
v2 controllers, while others were written to test v2 controllers in the
spirit of the test or skipped outright.
Luke Nowakowski-Krijger (19):
API/cgroup: Modify tst_cg_print_config for parsing and consumption
API/cgroup: Add option for specific pid to tst_cg_opts
API/cgroup: Add cgroup_find_root helper function
API/cgroup: Add CTRL_NAME_MAX define
tst_test_macros: Add TST_TOSTR macro
API/cgroup: Implement tst_cg_load_config
API/cgroup: Add more controllers to tst_cgroup
API/cgroup: refuse to mount blkio when io controller is mounted
testcases/lib: Implement tst_cgctl binary
testcases/lib: Add tst_flag2mask function
controllers: Expand cgroup_lib shell library
controllers: Update cgroup_fj_* to use newer cgroup lib and test lib
controllers: Update memcg_control_test to newer test lib and cgroup
lib
controllers: Update memcg/regression/* to new test and cgroup lib
controllers: Update memcg_stress_test to use newer cgroup lib
controllers: update memcg/functional to use newer cgroup lib
controllers: Update pids.sh to use newer cgroup lib
controllers: update cpuset_regression_test.sh to use newer cgroup lib
controllers: update cgroup_regression_test to use newer cgroup lib
include/tst_cgroup.h | 17 +-
include/tst_test_macros.h | 3 +
lib/tst_cgroup.c | 215 +++++++++++++++++-
.../cgroup/cgroup_regression_test.sh | 31 +--
.../controllers/cgroup_fj/cgroup_fj_common.sh | 113 +++------
.../cgroup_fj/cgroup_fj_function.sh | 169 ++++++++------
.../controllers/cgroup_fj/cgroup_fj_proc.c | 24 +-
.../controllers/cgroup_fj/cgroup_fj_stress.sh | 168 +++++++-------
testcases/kernel/controllers/cgroup_lib.sh | 141 ++++++++++--
.../cpuset/cpuset_regression_test.sh | 26 +--
.../controllers/memcg/control/mem_process.c | 28 +--
.../memcg/control/memcg_control_test.sh | 150 +++---------
.../memcg/functional/memcg_force_empty.sh | 2 +-
.../controllers/memcg/functional/memcg_lib.sh | 54 +++--
.../memcg/regression/memcg_regression_test.sh | 202 ++++++++--------
.../memcg/regression/memcg_test_1.c | 40 ++--
.../memcg/regression/memcg_test_2.c | 24 +-
.../memcg/regression/memcg_test_3.c | 38 ++--
.../memcg/regression/memcg_test_4.c | 24 +-
.../memcg/regression/memcg_test_4.sh | 50 ++--
.../memcg/stress/memcg_stress_test.sh | 32 +--
testcases/kernel/controllers/pids/pids.sh | 67 +-----
testcases/lib/Makefile | 2 +-
testcases/lib/tst_cgctl.c | 87 +++++++
testcases/lib/tst_test.sh | 13 ++
25 files changed, 927 insertions(+), 793 deletions(-)
create mode 100644 testcases/lib/tst_cgctl.c
--
2.32.0
More information about the ltp
mailing list