Linux kernel 基于NUMA和SMP的Linux调度程序

Linux kernel 基于NUMA和SMP的Linux调度程序,linux-kernel,load-balancing,scheduler,numa,smp,Linux Kernel,Load Balancing,Scheduler,Numa,Smp,我想知道schedule()函数的副本是在每个处理器上运行,还是只在每个处理器上运行一个schedule() 如果每个处理器/核心上都运行着schedule()的副本,那么进程如何调度到特定的CPU/CPU运行队列。这是负载平衡器的工作吗?是否只有一个负载平衡器为所有CPU运行,或者它是使用标志/通信方法以分布式方式运行的 ps-我知道调度类等的工作,但我很难弄清楚进程在各种运行队列中的分布 进程如何调度到特定的CPU/CPU运行队列。这是负载平衡器的工作吗 对。在多处理器系统中,负载均衡器定期

我想知道schedule()函数的副本是在每个处理器上运行,还是只在每个处理器上运行一个schedule()

如果每个处理器/核心上都运行着schedule()的副本,那么进程如何调度到特定的CPU/CPU运行队列。这是负载平衡器的工作吗?是否只有一个负载平衡器为所有CPU运行,或者它是使用标志/通信方法以分布式方式运行的

ps-我知道调度类等的工作,但我很难弄清楚进程在各种运行队列中的分布

进程如何调度到特定的CPU/CPU运行队列。这是负载平衡器的工作吗

对。在多处理器系统中,负载均衡器定期检查CPU负载是否不平衡;如果是,处理器将执行任务的跨CPU平衡

是否只有一个负载平衡器为所有CPU运行,或者它是使用标志/通信方法以分布式方式运行的

对。在SMP调度中,只有一个schedule()和一个负载平衡来管理多个核心之间的多任务

参考: