[PATCH -v1 00/13] sched/balancing: Standardize the naming of scheduler load-balancing functions

From: Ingo Molnar
Date: Fri Mar 08 2024 - 06:18:41 EST


Over the years we've grown a colorful zoo of scheduler
load-balancing function names - both following random,
idiosyncratic patterns, and gaining historic misnomers
that are not accurate anymore.

We have 'newidle_balance()' to rebalance newly idle tasks,
but 'balance_domains()' to rebalance domains. We have
a find_idlest_cpu() function whose purpose is not to find
the idlest CPU anymore, and a find_busiest_queue() function
whose purpose is not to find the busiest runqueue anymore.

Fix most of the misnomers and organize the functions along the
sched_balance_*() namespace:

scheduler_tick() => sched_tick()
run_rebalance_domains() => sched_balance_softirq()
trigger_load_balance() => sched_balance_trigger()
rebalance_domains() => sched_balance_domains()
load_balance() => sched_balance_rq()
newidle_balance() => sched_balance_newidle()
find_busiest_queue() => sched_balance_find_src_rq()
find_busiest_group() => sched_balance_find_src_group()
find_idlest_group_cpu() => sched_balance_find_dst_group_cpu()
find_idlest_group() => sched_balance_find_dst_group()
find_idlest_cpu() => sched_balance_find_dst_cpu()
update_blocked_averages() => sched_balance_update_blocked_averages()

I think the visual improvement of left vs. right column
demonstrates the goal nicely.

While the function names got a bit longer, another advantage of
the common prefix, beyond readability, is that now a:

git grep sched_balance_

.. will show most of the balancing code nicely.

( I have a few more patches that standardize the NOHZ balancing
code along the nohz_balance_*() nomenclature as well. )

Thanks,

Ingo

==================>
Ingo Molnar (13):
sched/balancing: Rename run_rebalance_domains() => sched_balance_softirq()
sched/balancing: Rename scheduler_tick() => sched_tick()
sched/balancing: Rename trigger_load_balance() => sched_balance_trigger()
sched/balancing: Rename rebalance_domains() => sched_balance_domains()
sched/balancing: Rename load_balance() => sched_balance_rq()
sched/balancing: Rename find_busiest_queue() => find_src_rq()
sched/balancing: Rename find_src_rq() => sched_balance_find_src_rq()
sched/balancing: Rename find_busiest_group() => sched_balance_find_src_group()
sched/balancing: Rename update_blocked_averages() => sched_balance_update_blocked_averages()
sched/balancing: Rename newidle_balance() => sched_balance_newidle()
sched/balancing: Rename find_idlest_group_cpu() => sched_balance_find_dst_group_cpu()
sched/balancing: Rename find_idlest_group() => sched_balance_find_dst_group()
sched/balancing: Rename find_idlest_cpu() => sched_balance_find_dst_cpu()

Documentation/scheduler/sched-domains.rst | 12 ++--
Documentation/scheduler/sched-stats.rst | 32 +++++------
Documentation/translations/zh_CN/scheduler/sched-domains.rst | 10 ++--
Documentation/translations/zh_CN/scheduler/sched-stats.rst | 30 +++++-----
arch/arm/kernel/topology.c | 2 +-
include/linux/sched.h | 2 +-
include/linux/sched/topology.h | 2 +-
kernel/sched/core.c | 6 +-
kernel/sched/fair.c | 88 ++++++++++++++---------------
kernel/sched/loadavg.c | 2 +-
kernel/sched/pelt.c | 2 +-
kernel/sched/sched.h | 4 +-
kernel/time/timer.c | 2 +-
kernel/workqueue.c | 2 +-
.../selftests/ftrace/test.d/ftrace/func_set_ftrace_file.tc | 2 +-
15 files changed, 99 insertions(+), 99 deletions(-)

--
2.40.1