Re: [PATCH] perf bench sched pipe: Add -G/--cgroups option

From: Arnaldo Carvalho de Melo
Date: Fri Oct 13 2023 - 18:41:07 EST


Em Wed, Oct 04, 2023 at 01:47:41PM -0700, Namhyung Kim escreveu:
> The -G/--cgroups option is to put sender and receiver in different
> cgroups in order to measure cgroup context switch overheads.
>
> Users need to make sure the cgroups exist and accessible.
>
> # perf stat -e context-switches,cgroup-switches \
> > taskset -c 0 perf bench sched pipe -l 10000 > /dev/null
>
> Performance counter stats for 'taskset -c 0 perf bench sched pipe -l 10000':
>
> 20,001 context-switches
> 2 cgroup-switches
>
> 0.053449651 seconds time elapsed
>
> 0.011286000 seconds user
> 0.041869000 seconds sys
>
> # perf stat -e context-switches,cgroup-switches \
> > taskset -c 0 perf bench sched pipe -l 10000 -G AAA,BBB > /dev/null
>
> Performance counter stats for 'taskset -c 0 perf bench sched pipe -l 10000 -G AAA,BBB':
>
> 20,001 context-switches
> 20,001 cgroup-switches
>
> 0.052768627 seconds time elapsed

So I tried with:

[root@quaco ~]# perf bench sched pipe -G system.slice,user.slice
# Running 'sched/pipe' benchmark:
cannot enter to cgroup: system.slice
cannot enter to cgroup: user.slice
# Executed 1000000 pipe operations between two processes

Total time: 6.301 [sec]

6.301478 usecs/op
158692 ops/sec
[root@quaco ~]#

Should't it bail out when not managing to enter the cgroups?

Also:

[root@quaco ~]# mkdir /sys/fs/cgroup/AAA
[root@quaco ~]# mkdir /sys/fs/cgroup/BBB
[root@quaco ~]#
[root@quaco ~]# perf bench sched pipe -G AAA,BBB
# Running 'sched/pipe' benchmark:
cannot enter to cgroup: AAA
cannot enter to cgroup: BBB
# Executed 1000000 pipe operations between two processes

Total time: 6.397 [sec]

6.397830 usecs/op
156302 ops/sec
[root@quaco ~]#

-rw-r--r--. 1 root root 0 Oct 13 19:22 /sys/fs/cgroup/AAA/cgroup.procs
[root@quaco ~]# ls -la /sys/fs/cgroup/AAA/cgroup.threads
-rw-r--r--. 1 root root 0 Oct 13 19:22 /sys/fs/cgroup/AAA/cgroup.threads
[root@quaco ~]# ls -la /sys/fs/cgroup/BBB/cgroup.threads
-rw-r--r--. 1 root root 0 Oct 13 19:22 /sys/fs/cgroup/BBB/cgroup.threads
[root@quaco ~]# ls -la /sys/fs/cgroup/BBB/cgroup.procs
-rw-r--r--. 1 root root 0 Oct 13 19:22 /sys/fs/cgroup/BBB/cgroup.procs
[root@quaco ~]#

[root@quaco ~]# perf bench sched pipe -G AAA,BBB
# Running 'sched/pipe' benchmark:
cannot enter to cgroup: AAA (written=-1, len=6, errno=Operation not supported)
cannot enter to cgroup: BBB (written=-1, len=6, errno=Operation not supported)
# Executed 1000000 pipe operations between two processes

Total time: 6.303 [sec]

6.303221 usecs/op
158649 ops/sec
[root@quaco ~]#

I'm certainly missing something here :-\

- Arnaldo