[LTP] [PATCH v2 00/16] Expand Cgroup lib and modify controller tests
Luke Nowakowski-Krijger
luke.nowakowskikrijger@canonical.com
Sat Mar 5 00:18:10 CET 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 (16):
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: 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
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 +-
lib/tst_cgroup.c | 203 +++++++++++++++++-
.../cgroup/cgroup_regression_test.sh | 17 +-
.../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 | 129 +++++++++--
.../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 ++++++++
23 files changed, 883 insertions(+), 783 deletions(-)
create mode 100644 testcases/lib/tst_cgctl.c
--
2.32.0
More information about the ltp
mailing list