Re: [PATCH v2] selftests/sgx: Improve cgroup test scripts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue Apr 2, 2024 at 8:31 PM EEST, Haitao Huang wrote:
> On Tue, 02 Apr 2024 02:43:25 -0500, Jarkko Sakkinen <jarkko@xxxxxxxxxx>  
> 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@xxxxxxxxxxxxxxx>
> >> ---
> >> 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! 

I'll point my build to that, make a test image and report the
results.

BR, Jarkko





[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux