diff options
author | Chengming Zhou <zhouchengming@bytedance.com> | 2022-08-26 00:41:10 +0800 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2022-09-09 11:08:33 +0200 |
commit | dc86aba751e2867244411adda1562f6664747019 (patch) | |
tree | a3da212be6c190b5585ee4f9761c4177ad4f19c6 /kernel/cgroup/cgroup.c | |
parent | 57899a6610e67ba26fa3251ebbef4a5ed21efc5d (diff) | |
download | linux-stable-dc86aba751e2867244411adda1562f6664747019.tar.gz linux-stable-dc86aba751e2867244411adda1562f6664747019.tar.bz2 linux-stable-dc86aba751e2867244411adda1562f6664747019.zip |
sched/psi: Cache parent psi_group to speed up group iteration
We use iterate_groups() to iterate each level psi_group to update
PSI stats, which is a very hot path.
In current code, iterate_groups() have to use multiple branches and
cgroup_parent() to get parent psi_group for each level, which is not
very efficient.
This patch cache parent psi_group in struct psi_group, only need to get
psi_group of task itself first, then just use group->parent to iterate.
Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Link: https://lore.kernel.org/r/20220825164111.29534-10-zhouchengming@bytedance.com
Diffstat (limited to 'kernel/cgroup/cgroup.c')
0 files changed, 0 insertions, 0 deletions