【Kernel之 进程调度系列】
SoloLinux
专注Kernel,GPU Driver,ROCM,CPU, Power/Performance开
展开
-
schedule()函数
schedule()函数2008-01-12 20:36Direct invocation(直接调用) The scheduler is invoked directly when the current process must be blocked right away because the resource it needs is not av转载 2012-05-26 15:09:43 · 1509 阅读 · 0 评论 -
Linux多进程_消息通信_设计思想交流
Linux多进程_消息通信_设计思想交流转载自:http://blog.csdn.net/ex_net/article/details/7301192 Linux进程间通信可以采用的方法很多,例如“管道”、“信号”、“共享内存”、“消息队列”、“套接字”等等。不过,我个人比较喜欢“消息队列”。 消息队列和管转载 2012-03-01 14:04:11 · 502 阅读 · 0 评论 -
多线程分析
多进程适合于完全不相干的几件事情同时做。 因为除了代码段相同之外,别的都是互不相干的,而多线程则可以 所谓多线程:线程是可执行代码的可分派单元。这个名称来源于“执行的线索”的概念。在基于线程的多任务的环境中,所有进程有至少一个线程,但是它们可以具有多个任务。这意味着单个程序可以并发执行两个或者多个任务。 简而言之,线程就是把一个进程分为很多片,每一片都可以是一个原创 2011-10-24 10:40:01 · 578 阅读 · 0 评论 -
CONFIG_NO_HZ (aka dynamic tick functionality)
CONFIG_NO_HZ ,也就是tickless mode, 这个定义启用了周期时钟的一个新特性,就是动态时钟.主要的改进就是让系统在idle 时可以停止tick,降低系统功耗. 在CPU有workload 时恢复正常的tick,产生周期性的Tick事件./* * Enable / Disable tickless mode */static int __init setup_tick_no原创 2017-09-25 19:31:59 · 1775 阅读 · 0 评论 -
实时进程RT的调度策略RR - Time Slice
Time Slice 目前只用于RR策略. 默认的时间片长度是100 毫秒 /* * These are the 'tuning knobs' of the scheduler: * * default timeslice is 100 msecs (used only for SCHED_RR tasks). * Timeslices get refilled after they ex原创 2017-09-25 20:39:45 · 1590 阅读 · 0 评论 -
taskset - retrieve or set a process's CPU affinity
taskset is used to set or retrieve the CPU affinity of a running process given its PID or to launch a new COMMAND with a given CPU affinity. CPU affinity is a scheduler property that "bonds" a process原创 2017-09-27 15:41:35 · 758 阅读 · 0 评论 -
linux调度器(十)——调度器/proc信息解读
注下面的时间或时刻都是从rq->clock中获得的,而这个值是由update_rq_clock底层cpu来更新的。并且很多信息是需要内核配置CONFIG_SCHEDSTATS才有。 /proc//sched $cat /proc/28733/sched cpu_test (28733, #threads: 1)se.exec_start : 2781299327.3972转载 2017-09-30 10:45:10 · 2151 阅读 · 0 评论 -
调度域(Scheduling Domain)
Scheduling Domains 引入的背景Scheduling Domains 是现代硬件技术尤其是多 CPU 多核技术发展的产物。现在,一个复杂的高端系统由上到下可以这样构成:它是一个 NUMA 架构的系统,系统中的每个 Node 访问系统中不同区域的内存有不同的速度。同时它又是一个 SMP 系统。由多个物理 CPU(Physical Package) 构成。这些物理 CPU 共享系...转载 2019-08-05 23:12:29 · 932 阅读 · 0 评论 -
linux schedule 数据结构
3.10版本内核为例,linux为了提升多核调度的效率,每个cpu上都有一个runqueue结构,这样就避免了多核争抢同一个runqueue造成的瓶颈。在每个runqueue中,包含了多个调度类(sched_class)的runqueue,调度类下面的子类主要有cfs(完全公平调度器),RT(实时调度器),其他的子类使用不多。几个调度器子类间的优先级顺序:deadline class-&g...转载 2019-08-05 23:18:47 · 370 阅读 · 0 评论