
linux进程调度
文章平均质量分 95
Realdagongzai
打工人,打工魂
展开
-
Linux CFS任务的负载均衡(5)
本文主要分成三个部分,第一个部分就是本章,简单的描述了本文的结构和阅读前提条件。第二章是对load_balance函数设计的数据结构进行描述。这一章不需要阅读,只是在有需要的时候可以查阅几个主要数据结构的各个成员的具体功能。随后的若干个章节是以load_balance函数为主线,对各个逻辑过程进行逐行分析。原创 2024-12-25 14:45:44 · 782 阅读 · 0 评论 -
Linux CFS任务的负载均衡(4)
在嵌入式平台上,为了控制功耗,很多硬件模块被设计成可以运行在多种频率下工作(配合对应的电压,形成不同的performance level),这种硬件的驱动模块可以感知到在不同performance level下的能耗。系统中的某些模块可能会希望能感知到硬件能耗从而做出不同的判决。能量模型框架(Energy Model (EM) framework)是一个通用的接口模块,该接口连接了支持不同perf level的驱动模块和系统中的其他想要感知能量消耗的模块。原创 2024-12-23 20:21:37 · 746 阅读 · 0 评论 -
Linux CFS任务的负载均衡(3)
整个Linux的负载均衡器有下面的几个类型:实际上内核的负载均衡器(本文都是特指CFS任务的)有两种,一种是为繁忙CPU们准备的periodic balancer,用于CFS任务在busy cpu上的均衡。还有一种是为idle cpu们准备的idle balancer,用于把繁忙CPU上的任务均衡到idle cpu上来。idle balancer有两种,一种是nohz idle balancer,另外一种是new idle balancer。转载 2024-08-28 17:54:22 · 225 阅读 · 0 评论 -
Linux CFS任务的负载均衡(2)
我们假定little cluster中cpu3存在超载的情况,那么无论你将任务放置到哪个CPU上,little cluster总是维持最高频点,对于同个perf domain下拥有最大空余算力的CPU来说,这样预估的energy是不公平的,与EAS的设计相违背,EAS希望能通过放置任务改变cluster的频点来降低功耗。,例如:小核的4个cpu,最大capacity都是512,与之对应的最高频点为1G Hz,那么500M Hz的频点对应的capacity就是256。,即waker所在的CPU。转载 2024-08-18 18:23:04 · 159 阅读 · 0 评论 -
Linux CFS任务的负载均衡(1)
CPU load是一个很容易和CPU usage混淆的概念。CPU usage是CPU忙闲的比例,例如在一个周期为1000ms的窗口中观察CPU的情况,如果500ms的时间在执行任务,500ms的时间处于idle状态,那么在这个窗口中CPU的usage是50%。CPU usage是一个直观的概念,所见即所得,然而它不能用来对比。例如一个任务在小核300MHz频率下执行1000ms,看到CPU usage是100%,同样的任务,在大核3GHz下的执行50ms,CPU usage是5%。转载 2024-08-13 16:54:11 · 276 阅读 · 0 评论