[LTP] [PATCH 00/16] Expand Cgroup lib and modify controller tests
Luke Nowakowski-Krijger
luke.nowakowskikrijger@canonical.com
Wed Jan 19 15:44:02 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_cgroup_print_config for easier parsing and
consumption
API/cgroup: Add option for specific pid to tst_cgroup_opts
API/cgroup: Add cgroup_find_root helper function
API/cgroup: Implement tst_cgroup_load_config()
API/cgroup: Add more controllers to tst_cgroup
API/cgroup: Change to TWARN when v2 controllers change
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 | 7 +-
lib/tst_cgroup.c | 314 +++++++++++++++++-
.../cgroup/cgroup_regression_test.sh | 17 +-
.../controllers/cgroup_fj/cgroup_fj_common.sh | 105 ++----
.../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 | 128 +++++--
.../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 | 35 +-
.../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 | 65 +---
testcases/lib/Makefile | 2 +-
testcases/lib/tst_cgctl.c | 69 ++++
23 files changed, 966 insertions(+), 769 deletions(-)
create mode 100644 testcases/lib/tst_cgctl.c
--
2.32.0
More information about the ltp
mailing list