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

Ingo Molnar posted 13 patches 1 year, 11 months ago
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(-)
[PATCH -v1 00/13] sched/balancing: Standardize the naming of scheduler load-balancing functions
Posted by Ingo Molnar 1 year, 11 months ago
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
Re: [PATCH -v1 00/13] sched/balancing: Standardize the naming of scheduler load-balancing functions
Posted by Ingo Molnar 1 year, 11 months ago
* Ingo Molnar <mingo@kernel.org> wrote:

> 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()

Forgot to mention that this series is on top of the scheduler tree 
(tip:sched/core) plus my other pending queue:

   https://lore.kernel.org/r/20240308105901.1096078-1-mingo@kernel.org

Thanks,

	Ingo