Linux调度子系统
文章平均质量分 74
nerdX
这个作者很懒,什么都没留下…
展开
-
调度子系统1_调度子系统初始化
unsigned int sysctl_sched_rt_period = 1000000;int sysctl_sched_rt_runtime = 950000;// 参考:// SMP负载均衡// http://soft.chinabyte.com/os/22/12359522.shtml// linux组调度浅析// http://hi.baidu.com/_kouu原创 2013-11-29 19:55:09 · 2552 阅读 · 1 评论 -
调度子系统2_核心调度器
// 核心调度器// 当进程决定让出cpu时调用// 函数任务:// 1.禁止内核抢占// 2.获取本cpu的rq// 3.取消为当前进程运行的hrtimer// 4.获取队列锁// 5.更新队列时钟// 6.清除当前进程need resched标志// 7.如果当前进程为非运行状态,并且当前非内核抢占路径// 7.1 如果当前进程有信号待处理,设置当前进程原创 2013-12-10 20:04:09 · 1432 阅读 · 0 评论 -
调度子系统3_周期调度器
// 周期调度器// 调用路径:update_process_times->scheduler_tick// 函数任务:// 1.更新rq的clock// 2.更新队列负载// 3.通知调度器类更新进程运行时间// 4.更新下一次load balance的时间戳// 5.触发load balance1.1 void scheduler_tick(void){ int原创 2013-12-11 17:18:32 · 1227 阅读 · 0 评论 -
调度子系统5_负载均衡(二)
一篇介绍Linux负载均衡的文章: Linux Load Balancing Mechanism CSDN资源地址原创 2013-12-16 10:18:22 · 1295 阅读 · 0 评论 -
调度子系统6_负载均衡(三)
// 负载均衡// 在sched_domain中进行负载均衡,检查是否可以通过最繁忙的组中迁移一些进程到本cpu// 函数参数:// this_cpu, 其上执行负载均衡的cpu// this_rq, 其上执行负载均衡的rq// sd, 其上执行负载均衡的sched domain// idle, this_cpu的状态// CPU_SCHED_IDLE,this_cpu原创 2013-12-18 16:15:41 · 1552 阅读 · 0 评论 -
调度子系统4_负载均衡(一)
// 参考:http://blog.csdn.net/dog250/article/details/5303561// 负载均衡// 当rq->next_balance到时,触发负载均衡 // 调用路径:scheduler_tick->trigger_load_balance// 注:// nohz.cpu_mask中的cpu表示停用了周期时钟// 函数任务:// 1.如果进原创 2013-12-11 22:09:41 · 2293 阅读 · 0 评论 -
调度子系统7_负载均衡(四)
// 寻找sched domain中最忙的group// 函数参数:// sd:待查找的sched domain// this_cpu:当前正在对其执行负载均衡的cpu// imbalance:为达到平衡需要移动的权重// idle:this_cpu当前的状态// sd_idle: sd空闲状态// cpus:可作为源cpu的集合// balance:指示this_c原创 2013-12-19 22:19:58 · 2429 阅读 · 0 评论 -
调度子系统8_负载均衡(五)
// 计算group在给定domain中的imbalance// 调用路径:find_busiest_group->calculate_imbalance// 函数参数:// sds:sched domain的统计信息// this_cpu:当前正在运行load balance的cpu// imbalance:保存imbalance值// 函数任务:// 1.计算最忙grou原创 2013-12-23 22:02:14 · 1763 阅读 · 0 评论