[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