Re: [PATCH v5 bpf-next 2/3] selftests/bpf: add per worker cgroup suffix

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

 



On Wed, Sep 15, 2021 at 8:26 PM Yucong Sun <fallentree@xxxxxx> wrote:
>
> From: Yucong Sun <sunyucong@xxxxxxxxx>
>
> This patch allows each worker to use a unique cgroup base directory, thus
> allowing tests that uses cgroups to run concurrently.
>
> Signed-off-by: Yucong Sun <sunyucong@xxxxxxxxx>
> ---

What if we always set the prefix to be a PID of the process?

BTW, Daniel mentioned that this might need some rebasing and conflict
resolution due to his patch in bpf tree, which is now merged into
bpf-next tree.

>  tools/testing/selftests/bpf/cgroup_helpers.c | 5 +++--
>  tools/testing/selftests/bpf/cgroup_helpers.h | 1 +
>  tools/testing/selftests/bpf/test_progs.c     | 5 +++++
>  3 files changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/cgroup_helpers.c b/tools/testing/selftests/bpf/cgroup_helpers.c
> index 033051717ba5..a0429f0d6db2 100644
> --- a/tools/testing/selftests/bpf/cgroup_helpers.c
> +++ b/tools/testing/selftests/bpf/cgroup_helpers.c
> @@ -29,9 +29,10 @@
>  #define WALK_FD_LIMIT                  16
>  #define CGROUP_MOUNT_PATH              "/mnt"
>  #define CGROUP_WORK_DIR                        "/cgroup-test-work-dir"
> +const char *CGROUP_WORK_DIR_SUFFIX = "";
>  #define format_cgroup_path(buf, path) \
> -       snprintf(buf, sizeof(buf), "%s%s%s", CGROUP_MOUNT_PATH, \
> -                CGROUP_WORK_DIR, path)
> +       snprintf(buf, sizeof(buf), "%s%s%s%s", CGROUP_MOUNT_PATH, \
> +       CGROUP_WORK_DIR, CGROUP_WORK_DIR_SUFFIX, path)
>
>  /**
>   * enable_all_controllers() - Enable all available cgroup v2 controllers
> diff --git a/tools/testing/selftests/bpf/cgroup_helpers.h b/tools/testing/selftests/bpf/cgroup_helpers.h
> index 5fe3d88e4f0d..5657aba02161 100644
> --- a/tools/testing/selftests/bpf/cgroup_helpers.h
> +++ b/tools/testing/selftests/bpf/cgroup_helpers.h
> @@ -16,4 +16,5 @@ int setup_cgroup_environment(void);
>  void cleanup_cgroup_environment(void);
>  unsigned long long get_cgroup_id(const char *path);
>
> +extern const char *CGROUP_WORK_DIR_SUFFIX;
>  #endif
> diff --git a/tools/testing/selftests/bpf/test_progs.c b/tools/testing/selftests/bpf/test_progs.c
> index 36f130455b2f..77ed9204cc4a 100644
> --- a/tools/testing/selftests/bpf/test_progs.c
> +++ b/tools/testing/selftests/bpf/test_progs.c
> @@ -1157,6 +1157,11 @@ static int server_main(void)
>
>  static int worker_main(int sock)
>  {
> +       static char suffix[16];
> +
> +       sprintf(suffix, "%d", env.worker_id);
> +       CGROUP_WORK_DIR_SUFFIX = suffix;
> +
>         save_netns();
>
>         while (true) {
> --
> 2.30.2
>



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux