sched/balancing: Rename run_rebalance_domains() => sched_balance_softirq()

run_rebalance_domains() is a misnomer, as it doesn't only
run rebalance_domains(), but since the introduction of the
NOHZ code it also runs nohz_idle_balance().

Rename it to sched_balance_softirq(), reflecting its more
generic purpose and that it's a softirq handler.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Valentin Schneider <vschneid@redhat.com>
Reviewed-by: Shrikanth Hegde <sshegde@linux.ibm.com>
Link: https://lore.kernel.org/r/20240308111819.1101550-2-mingo@kernel.org
This commit is contained in:
Ingo Molnar 2024-03-08 12:18:07 +01:00
parent 33928ed8bd
commit 70a27d6d1b
3 changed files with 4 additions and 4 deletions

View File

@ -34,7 +34,7 @@ out of balance are tasks moved between groups.
In kernel/sched/core.c, trigger_load_balance() is run periodically on each CPU In kernel/sched/core.c, trigger_load_balance() is run periodically on each CPU
through scheduler_tick(). It raises a softirq after the next regularly scheduled through scheduler_tick(). It raises a softirq after the next regularly scheduled
rebalancing event for the current runqueue has arrived. The actual load rebalancing event for the current runqueue has arrived. The actual load
balancing workhorse, run_rebalance_domains()->rebalance_domains(), is then run balancing workhorse, sched_balance_softirq()->rebalance_domains(), is then run
in softirq context (SCHED_SOFTIRQ). in softirq context (SCHED_SOFTIRQ).
The latter function takes two arguments: the runqueue of current CPU and whether The latter function takes two arguments: the runqueue of current CPU and whether

View File

@ -36,7 +36,7 @@ CPU共享。任意两个组的CPU掩码的交集不一定为空如果是这
在kernel/sched/core.c中trigger_load_balance()在每个CPU上通过scheduler_tick() 在kernel/sched/core.c中trigger_load_balance()在每个CPU上通过scheduler_tick()
周期执行。在当前运行队列下一个定期调度再平衡事件到达后,它引发一个软中断。负载均衡真正 周期执行。在当前运行队列下一个定期调度再平衡事件到达后,它引发一个软中断。负载均衡真正
的工作由run_rebalance_domains()->rebalance_domains()完成,在软中断上下文中执行 的工作由sched_balance_softirq()->rebalance_domains()完成,在软中断上下文中执行
SCHED_SOFTIRQ SCHED_SOFTIRQ
后一个函数有两个入参当前CPU的运行队列、它在scheduler_tick()调用时是否空闲。函数会从 后一个函数有两个入参当前CPU的运行队列、它在scheduler_tick()调用时是否空闲。函数会从

View File

@ -12415,7 +12415,7 @@ out:
* - indirectly from a remote scheduler_tick() for NOHZ idle balancing * - indirectly from a remote scheduler_tick() for NOHZ idle balancing
* through the SMP cross-call nohz_csd_func() * through the SMP cross-call nohz_csd_func()
*/ */
static __latent_entropy void run_rebalance_domains(struct softirq_action *h) static __latent_entropy void sched_balance_softirq(struct softirq_action *h)
{ {
struct rq *this_rq = this_rq(); struct rq *this_rq = this_rq();
enum cpu_idle_type idle = this_rq->idle_balance; enum cpu_idle_type idle = this_rq->idle_balance;
@ -13216,7 +13216,7 @@ __init void init_sched_fair_class(void)
#endif #endif
} }
open_softirq(SCHED_SOFTIRQ, run_rebalance_domains); open_softirq(SCHED_SOFTIRQ, sched_balance_softirq);
#ifdef CONFIG_NO_HZ_COMMON #ifdef CONFIG_NO_HZ_COMMON
nohz.next_balance = jiffies; nohz.next_balance = jiffies;