DumpStack

调度原理
调度原理

Linux调度原理之(五):组调度

        术语约定: gse: group se grq: group cfs_rq tg: task_group   一、前言 1.1 为什么要引入组调度 Linux调度器的粒度是一个进程,这样的粒度在很多场景是不合适的,比如,希望达到用户粒度,也就是希望每个用户占有相同的cpu时间。但是,在各个用户拥有的进程数量不同的情况下,显然调度器会将cpu更多地分配给进程数量多的用户。组调度的引入,正是解决此问题的   linux的cgroup(control group)支持将进程分组,然后按 [……

2022年4月5日 0条评论 1421点热度 0人点赞 tmmdh 阅读全文
调度原理

Linux调度原理之(四):抢占和调度的概念

  占个坑位。。。。  

2022年4月5日 2条评论 1257点热度 2人点赞 tmmdh 阅读全文
调度原理

Linux调度原理之(三):虚拟运行时间

        一、知识点梳理 首先列出本文要点: 虚拟运行时间计算流程:   进程每降低一个nice值,将多获得10%cpu的时间 nice为0时,虚拟运行时间=物理运行时间 nice为0时,权重为1024,即下面的NICE_0_LOAD=1024 牢记做功的概念: vruntime1 * weight1 = vruntime2 * weight2   由做功的概念可知虚拟运行时间和物理运行时间的转换关系如下: vriture_runtime * weight = wall_time * NI [……

2022年4月5日 0条评论 1178点热度 0人点赞 tmmdh 阅读全文
调度原理

Linux调度原理之(二):小白看调度

        调度是一个庞大的模块,涉及的知识点很多,下面我们来简单梳理一下   X、调度器 调度器决定了将哪个进程放到CPU上执行,以及执行多长时间。操作系统进行合理的进程调度,使得资源得到最大化的利用。调度器需要合理的分配CPU时间给运行的进程,创造一种所有进程并行运行的错觉,这就对调度器提出了要求: 调度器分配给task的时间不能太长,否则会导致其他的程序响应延迟,难以保证公平性 调度器分配给task的时间也不能太短,因为每次调度会导致上下文切换,这种切换开销也很大,即频繁的上下文切换导 [……

2022年4月5日 0条评论 1667点热度 0人点赞 tmmdh 阅读全文
调度原理

Linux调度原理之(一):数据结构

      X、sched_class - 调度类 struct sched_class {     //系统中所有的调度类通过该成员链接起来,排在链表前面的优先级最高     const struct sched_class *next;       //向该调度器的runqueue链表上添加/删除一个进程,即入列/出列操作     void (*enqueue_task) (struct rq *rq, struct task_struct *p, int flags);     void […]

2022年3月18日 0条评论 1628点热度 0人点赞 tmmdh 阅读全文

tmmdh

这个人很懒,什么都没留下

分类
  • cpuidle
  • locking
  • 未分类
  • 调度原理
  • 调试工具
  • 负载跟踪

COPYRIGHT © 2022 dumpstack.cn. ALL RIGHTS RESERVED.

浙ICP备2022000966号