linux调度器
weixin_42318651
这个作者很懒,什么都没留下…
展开
-
linux4.0 RT负载均衡原理
RT 负载均衡 在SMP情况下:RT负载均衡的目标是要保证TopN的线程都能及时执行; 负载平衡的时机如下: pick_next_task_rt select_task_rq_rt task_woken_rt pick_next_task_rt /* rq 当前cpu的运行队列 */ static struct task_struct * pick_next_task_rt(struct...原创 2020-04-17 23:33:46 · 536 阅读 · 0 评论 -
Linux 4.0 CFS负载均衡原理
负载计算 在不考虑EAS的情况下,负载采用PELT计算; struct sched_avg { /* * These sums represent an infinite geometric series and so are bound * above by 1024/(1-y). Thus we only need a u32 to store them for all * c...原创 2020-04-17 22:27:23 · 294 阅读 · 0 评论 -
linux调度器(一)-2.4内核分析
###调度策略概念 内核支持三种调度策略SCHED_OTHER、SCHED_FIFO、SCHED_RR,具体介绍如下: SCHED_OTHER:基于时间片的普通优先级策略; SCHED_FIFO:先入先出实时调度策略,针对实时性要求较高的线程,如果线程使用该调度策略,没有时间片的概念,线程会一直占用CPU,除非更高优先级的线程抢占; SCHED_RR:时间片的实时调度策略,与SCHED_FIFO...原创 2019-06-29 23:06:26 · 381 阅读 · 0 评论 -
linux调度器(二)-2.6内核分析
2.4内核调度器存在的问题 接上篇文章 linux调度器(一)-2.4内核分析 介绍,2.4内核存在以下问题: SMP架构,所有CPU共享一个可运行队列,访问效率低下; 每次调度时从可运行队列选择一个线程执行的时候都需要遍历一次链表, 时间复杂度O(n); 所有任务的时间片用完时,要遍历一遍链表重新赋值时间片,时间复杂度O(n); 内核态不可抢占; 2.6的内核调度器就是针对这些问题一一解决...原创 2019-07-02 22:55:21 · 207 阅读 · 0 评论