Messages in this thread Patch in this message | | | Subject | Re: [PATCH v2] selftests/sgx: Improve cgroup test scripts | Date | Tue, 02 Apr 2024 12:31:36 -0500 | From | "Haitao Huang" <> |
| |
On Tue, 02 Apr 2024 02:43:25 -0500, Jarkko Sakkinen <jarkko@kernel.org> wrote:
> On Tue Apr 2, 2024 at 4:42 AM EEST, Haitao Huang wrote: >> Make cgroup test scripts ash compatible. >> Remove cg-tools dependency. >> Add documentation for functions. >> >> Tested with busybox on Ubuntu. >> >> Signed-off-by: Haitao Huang <haitao.huang@linux.intel.com> >> --- >> v2: >> - Fixes for v2 cgroup >> - Turn off swapping before memcontrol tests and back on after >> - Add comments and reformat >> --- >> tools/testing/selftests/sgx/ash_cgexec.sh | 57 ++++++ >> .../selftests/sgx/run_epc_cg_selftests.sh | 187 +++++++++++------- >> .../selftests/sgx/watch_misc_for_tests.sh | 13 +- >> 3 files changed, 179 insertions(+), 78 deletions(-) >> create mode 100755 tools/testing/selftests/sgx/ash_cgexec.sh >> >> diff --git a/tools/testing/selftests/sgx/ash_cgexec.sh >> b/tools/testing/selftests/sgx/ash_cgexec.sh >> new file mode 100755 >> index 000000000000..9607784378df >> --- /dev/null >> +++ b/tools/testing/selftests/sgx/ash_cgexec.sh >> @@ -0,0 +1,57 @@ >> +#!/usr/bin/env sh >> +# SPDX-License-Identifier: GPL-2.0 >> +# Copyright(c) 2024 Intel Corporation. >> + >> +# Move the current shell process to the specified cgroup >> +# Arguments: >> +# $1 - The cgroup controller name, e.g., misc, memory. >> +# $2 - The path of the cgroup, >> +# relative to /sys/fs/cgroup for cgroup v2, >> +# relative to /sys/fs/cgroup/$1 for v1. >> +move_to_cgroup() { >> + controllers="$1" >> + path="$2" >> + >> + # Check if cgroup v2 is in use >> + if [ ! -d "/sys/fs/cgroup/misc" ]; then >> + # Cgroup v2 logic >> + cgroup_full_path="/sys/fs/cgroup/${path}" >> + echo $$ > "${cgroup_full_path}/cgroup.procs" >> + else >> + # Cgroup v1 logic >> + OLD_IFS="$IFS" >> + IFS=',' >> + for controller in $controllers; do >> + cgroup_full_path="/sys/fs/cgroup/${controller}/${path}" >> + echo $$ > "${cgroup_full_path}/tasks" >> + done >> + IFS="$OLD_IFS" >> + fi > I think that if you could point me to git v10 and all this I could > then quite easily create test image and see what I get from that. > > I will code review the whole thing but this is definitely good > enough to start testing this series properly! Thanks for the > effort with this. The payback from this comes after the feature > is mainline. We have now sort of reference of the usage patterns > and less layers when we need to debug any possible (likely) bugs > in the future. > > This is definitely to the right direction. I'm just wondering do > we want to support v1 cgroups or would it make sense support only > v2? > BR, Jarkko > I can drop v1. I think most distro now support v2. Created this branch to host these changes so far: https://github.com/haitaohuang/linux/tree/sgx_cg_upstream_v10_plus
Thanks Haitao
| |