[Devel] [PATCH 0/5 sched/ve] Fix wrong loadavg accounting inside CT

Andrey Ryabinin aryabinin at virtuozzo.com
Wed Feb 21 14:13:46 MSK 2018



On 02/20/2018 06:09 PM, Kirill Tkhai wrote:
> 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(-)


Reviewed-by: Andrey Ryabinin <aryabinin at virtuozzo.com>


More information about the Devel mailing list