cgroups.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Jarkko Sakkinen" <jarkko@kernel.org>
To: "Haitao Huang" <haitao.huang@linux.intel.com>
Cc: <anakrish@microsoft.com>, <bp@alien8.de>,
	<cgroups@vger.kernel.org>, <chrisyan@microsoft.com>,
	<dave.hansen@linux.intel.com>, <hpa@zytor.com>,
	<kai.huang@intel.com>, <kristen@linux.intel.com>,
	<linux-kernel@vger.kernel.org>, <linux-sgx@vger.kernel.org>,
	<mikko.ylinen@linux.intel.com>, <mingo@redhat.com>,
	<mkoutny@suse.com>, <seanjc@google.com>, <sohil.mehta@intel.com>,
	<tglx@linutronix.de>, <tim.c.chen@linux.intel.com>,
	<tj@kernel.org>, <x86@kernel.org>, <yangjie@microsoft.com>,
	<zhanb@microsoft.com>, <zhiquan1.li@intel.com>
Subject: Re: [PATCH v2] selftests/sgx: Improve cgroup test scripts
Date: Tue, 02 Apr 2024 10:43:25 +0300	[thread overview]
Message-ID: <D09GVMLN1O4Z.2RXQUH4ZY5IVF@kernel.org> (raw)
In-Reply-To: <20240402014254.27717-1-haitao.huang@linux.intel.com>

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

  reply	other threads:[~2024-04-02  7:43 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-28  0:22 [PATCH v10 00/14] Add Cgroup support for SGX EPC memory Haitao Huang
2024-03-28  0:22 ` [PATCH v10 01/14] x86/sgx: Replace boolean parameters with enums Haitao Huang
2024-03-28  0:22 ` [PATCH v10 02/14] cgroup/misc: Add per resource callbacks for CSS events Haitao Huang
2024-03-28  0:22 ` [PATCH v10 03/14] cgroup/misc: Export APIs for SGX driver Haitao Huang
2024-03-28  0:22 ` [PATCH v10 04/14] cgroup/misc: Add SGX EPC resource type Haitao Huang
2024-03-28  0:22 ` [PATCH v10 05/14] x86/sgx: Implement basic EPC misc cgroup functionality Haitao Huang
2024-03-28 12:53   ` Huang, Kai
2024-03-30 11:17     ` Jarkko Sakkinen
2024-04-01  9:29       ` Huang, Kai
2024-04-01 14:30         ` Jarkko Sakkinen
2024-04-05  1:24     ` Haitao Huang
2024-04-05  2:55       ` Huang, Kai
2024-03-28  0:22 ` [PATCH v10 06/14] x86/sgx: Add sgx_epc_lru_list to encapsulate LRU list Haitao Huang
2024-03-28  0:22 ` [PATCH v10 07/14] x86/sgx: Abstract tracking reclaimable pages in LRU Haitao Huang
2024-03-28  0:22 ` [PATCH v10 08/14] x86/sgx: Add basic EPC reclamation flow for cgroup Haitao Huang
2024-04-03 13:08   ` Huang, Kai
2024-04-04 17:05     ` Haitao Huang
2024-04-05  2:59       ` Huang, Kai
2024-04-05  3:07       ` Huang, Kai
2024-04-13 20:56         ` Jarkko Sakkinen
2024-03-28  0:22 ` [PATCH v10 09/14] x86/sgx: Implement async reclamation " Haitao Huang
2024-04-04 11:16   ` Huang, Kai
2024-04-04 15:39     ` Haitao Huang
2024-03-28  0:22 ` [PATCH v10 10/14] x86/sgx: Charge mem_cgroup for per-cgroup reclamation Haitao Huang
2024-03-28  0:22 ` [PATCH v10 11/14] x86/sgx: Abstract check for global reclaimable pages Haitao Huang
2024-03-28  0:22 ` [PATCH v10 12/14] x86/sgx: Turn on per-cgroup EPC reclamation Haitao Huang
2024-04-08 12:20   ` Huang, Kai
2024-04-08 18:03     ` Haitao Huang
2024-04-08 22:37       ` Huang, Kai
2024-04-09  4:23         ` Haitao Huang
2024-04-09  9:03           ` Michal Koutný
2024-04-09 15:34             ` Haitao Huang
2024-04-10 18:28               ` Haitao Huang
2024-03-28  0:22 ` [PATCH v10 13/14] Docs/x86/sgx: Add description for cgroup support Haitao Huang
2024-03-28  0:22 ` [PATCH v10 14/14] selftests/sgx: Add scripts for EPC cgroup testing Haitao Huang
2024-03-30 11:29   ` Jarkko Sakkinen
2024-03-31 17:44     ` [PATCH] selftests/sgx: Improve cgroup test scripts Haitao Huang
2024-04-01 14:22       ` Jarkko Sakkinen
2024-04-01 22:55         ` Haitao Huang
2024-04-02  7:37           ` Jarkko Sakkinen
2024-04-02  1:42         ` [PATCH v2] " Haitao Huang
2024-04-02  7:43           ` Jarkko Sakkinen [this message]
2024-04-02 17:31             ` Haitao Huang
2024-04-03 15:34               ` Jarkko Sakkinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=D09GVMLN1O4Z.2RXQUH4ZY5IVF@kernel.org \
    --to=jarkko@kernel.org \
    --cc=anakrish@microsoft.com \
    --cc=bp@alien8.de \
    --cc=cgroups@vger.kernel.org \
    --cc=chrisyan@microsoft.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=haitao.huang@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=kai.huang@intel.com \
    --cc=kristen@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sgx@vger.kernel.org \
    --cc=mikko.ylinen@linux.intel.com \
    --cc=mingo@redhat.com \
    --cc=mkoutny@suse.com \
    --cc=seanjc@google.com \
    --cc=sohil.mehta@intel.com \
    --cc=tglx@linutronix.de \
    --cc=tim.c.chen@linux.intel.com \
    --cc=tj@kernel.org \
    --cc=x86@kernel.org \
    --cc=yangjie@microsoft.com \
    --cc=zhanb@microsoft.com \
    --cc=zhiquan1.li@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).