Lower than expected CPU pressure in PSI
From: Ivan Babrou
Date: Wed Jan 08 2020 - 14:47:33 EST
We added reporting for PSI in cgroups and results are somewhat surprising.
My test setup consists of 3 services:
* stress-cpu1-no-contention.service : taskset -c 1 stress --cpu 1
* stress-cpu2-first-half.service : taskset -c 2 stress --cpu 1
* stress-cpu2-second-half.service : taskset -c 2 stress --cpu 1
First service runs unconstrained, the other two compete for CPU.
As expected, I can see 500ms/s sched delay for the latter two and
aggregated 1000ms/s delay for /system.slice, no surprises here.
However, CPU pressure reported by PSI says that none of my services
have any pressure on them. I can see around 434ms/s pressure on
/unified/system.slice and 425ms/s pressure on /unified cgroup, which
is surprising for three reasons:
* Pressure is absent for my services (I expect it to match scheed delay)
* Pressure on /unified/system.slice is lower than both 500ms/s and 1000ms/s
* Pressure on root cgroup is lower than on system.slice
I'm running Linux 5.4.8 with hybrid cgroup hierarchy under systemd.
P.S.: ./scripts/get_maintainer.pl kernel/sched/psi.c does not say
Johannes Weiner is a maintainer