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 >