lkml.org 
[lkml]   [2019]   [Aug]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 0/3] sched/fair: Active balancer RT/DL preemption fix
Date
Vincent's load balance rework [1] got me thinking about how and where we
use rq.nr_running vs rq.cfs.h_nr_running checks, and this lead me to
stare intently at the active load balancer.

I haven't seen it happen (yet), but from reading the code it really looks
like we can have some scenarios where the cpu_stopper ends up preempting
a > CFS class task.

- Patch 1 is a preparatory code move
- Patch 2 is the actual fix
- Patch 3 is a related fix for the cpu_stopper function

This is based on top of today's tip/sched/core:
a1dc0446d649 ("sched/core: Silence a warning in sched_init()")

@Vincent: I don't think this should conflict too badly with your rework,
but if you have any issues I'll try to give you a version rebased on top
of the rework.

[1]: https://lore.kernel.org/lkml/1564670424-26023-1-git-send-email-vincent.guittot@linaro.org/

Valentin Schneider (3):
sched/fair: Move active balance logic to its own function
sched/fair: Prevent active LB from preempting higher sched classes
sched/fair: Check for CFS tasks in active_load_balance_cpu_stop()

kernel/sched/fair.c | 130 +++++++++++++++++++++++++++-----------------
1 file changed, 79 insertions(+), 51 deletions(-)

--
2.22.0

\
 
 \ /
  Last update: 2019-08-07 19:41    [W:0.041 / U:0.180 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site