[LTP] [PATCH v4 00/19] Expand Cgroup lib and modify controller tests

Richard Palethorpe rpalethorpe@suse.de
Mon May 2 11:19:28 CEST 2022


Hello Luke,

I'm happy with this. Although perhaps there will be some issues with the
tests because there are quite a lot of changes. Would be nice to get it
into the next release.

For the whole patch series:
Reviewed-by: Richard Palethorpe <rpalethorpe@suse.com>

Luke Nowakowski-Krijger <luke.nowakowskikrijger@canonical.com> writes:

> 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


-- 
Thank you,
Richard.


More information about the ltp mailing list