[Devel] [PATCH 0/5 sched/ve] Fix wrong loadavg accounting inside CT
Kirill Tkhai
ktkhai at virtuozzo.com
Tue Feb 20 18:09:23 MSK 2018
Three problems are fixed here:
1)Tasks from child task groups are not propagated in CT's loadavg
2)Loadavg of CT's init task cgroup is returned as CT's loadavg,
while init task may be in child task group.
3)In calc_load_ve() (from interrupt) we count loadavg for all cpu
cgroups, which is slow and unneed.
The patchset fixes all of them.
https://jira.sw.ru/browse/PSBM-81572
---
Kirill Tkhai (5):
ve/cgroup: Get correct VE init css when ve init_task is moved to child cgroup
sched/ve: Link VE root cpu cgroups in separate list
sched/ve: Do not show loadavg in child VE cpu cgroups
sched/ve: Iterate only VE root cpu cgroups to count loadavg
sched/ve: Use cfs_rq::h_nr_running to count loadavg
include/linux/sched.h | 5 +++++
kernel/cgroup.c | 3 +++
kernel/sched/core.c | 38 ++++++++++++++++++++++++++++++++++++--
kernel/sched/sched.h | 4 ++++
kernel/ve/ve.c | 15 ++++++++++++++-
5 files changed, 62 insertions(+), 3 deletions(-)
--
Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>
More information about the Devel
mailing list