xen的cpu调度流程分析(2)
2013-05-20 11:20
225 查看
在调度器初始化时,初始化调度定时器,到那个时刻触发函数s_timer_fn。
raise_softirq在s_timer_fn中触发调度的软中断,从而执行调度函数schedule。
在schedule中执行set_timer,触发调度定时器s_timer,时间到后触发函数s_timer_fn,如此循环反复调度。
/* The scheduler timer: force a run through the scheduler */ static void s_timer_fn(void *unused) { raise_softirq(SCHEDULE_SOFTIRQ); perfc_incr(sched_irq); } |
static void schedule(void) { … if ( next_slice.time >= 0 ) /* -ve means no limit */ set_timer(&sd->s_timer, now + next_slice.time); … } |
相关文章推荐
- xen的cpu调度流程分析(1)
- Xen IO隔离方法及CPU调度脚本
- Xen IO隔离方法及CPU调度脚本
- Openstack中Scheduler脚本启动流程和调度流程分析之三
- XEN cpu 调度问题
- xen 下电流程分析(1)
- XEN cpu 调度问题
- xen的调度算法分析
- Xen从启动到运行的调度相关代码分析
- Yarn源码分析之MapReduce作业中任务Task调度整体流程(一)
- xen io tapdisk2基本流程分析
- Spark任务调度流程及调度策略分析
- Xen4.2增加新的CPU调度参数
- Tor源码分析五 -- 客户端执行流程(libevent调度)
- Yarn源码分析之MapReduce作业中任务Task调度整体流程(一)
- Xen4.2增加新的CPU调度参数
- Xen从启动到运行的调度相关代码分析
- 【分析】CPU hotplug时进程上下文切换流程分析
- Xen从启动到运行的调度相关代码分析
- XEN do_hvm_op流程分析