mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-03 00:54:09 +08:00
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:
parent
33928ed8bd
commit
70a27d6d1b
@ -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
|
||||
through scheduler_tick(). It raises a softirq after the next regularly scheduled
|
||||
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).
|
||||
|
||||
The latter function takes two arguments: the runqueue of current CPU and whether
|
||||
|
@ -36,7 +36,7 @@ CPU共享。任意两个组的CPU掩码的交集不一定为空,如果是这
|
||||
|
||||
在kernel/sched/core.c中,trigger_load_balance()在每个CPU上通过scheduler_tick()
|
||||
周期执行。在当前运行队列下一个定期调度再平衡事件到达后,它引发一个软中断。负载均衡真正
|
||||
的工作由run_rebalance_domains()->rebalance_domains()完成,在软中断上下文中执行
|
||||
的工作由sched_balance_softirq()->rebalance_domains()完成,在软中断上下文中执行
|
||||
(SCHED_SOFTIRQ)。
|
||||
|
||||
后一个函数有两个入参:当前CPU的运行队列、它在scheduler_tick()调用时是否空闲。函数会从
|
||||
|
@ -12415,7 +12415,7 @@ out:
|
||||
* - indirectly from a remote scheduler_tick() for NOHZ idle balancing
|
||||
* 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();
|
||||
enum cpu_idle_type idle = this_rq->idle_balance;
|
||||
@ -13216,7 +13216,7 @@ __init void init_sched_fair_class(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
open_softirq(SCHED_SOFTIRQ, run_rebalance_domains);
|
||||
open_softirq(SCHED_SOFTIRQ, sched_balance_softirq);
|
||||
|
||||
#ifdef CONFIG_NO_HZ_COMMON
|
||||
nohz.next_balance = jiffies;
|
||||
|
Loading…
Reference in New Issue
Block a user