[PATCH v2 0/2] sched/fair: nohz.next_balance vs newly-idle CPUs

From: Valentin Schneider
Date: Mon Jul 19 2021 - 06:31:30 EST


Hi folks,

The single patch has grown a sibling, and a cover letter along with it.

This was caught up by our testing on an arm64 RB5 board - that's an 8 CPUs
DynamIQ SoC with 4 littles, 3 mediums and 1 big. It seems to rely more on NOHZ
balancing than our other boards being tested, which highlighted that not
including a newly-idle CPU into nohz.next_balance can cause issues (especially
when the other CPUs have had their balance_interval inflated by pinned tasks).

As suggested by Vincent, the approach here is to mimic what was done for
nohz.has_blocked, which gives us sane(ish) ordering guarantees.

Revisions
=========

v1 -> v2
++++++++

o Ditched the extra cpumasks and went with a sibling of nohz.has_blocked
(Vincent)

Cheers,
Valentin

Valentin Schneider (2):
sched/fair: Add NOHZ balancer flag for nohz.next_balance updates
sched/fair: Trigger nohz.next_balance updates when a CPU goes
NOHZ-idle

kernel/sched/fair.c | 24 +++++++++++++++++++-----
kernel/sched/sched.h | 8 +++++++-
2 files changed, 26 insertions(+), 6 deletions(-)

--
2.25.1