自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 linux cfs调度与负载均衡漫谈(二: 从uclamp机制谈到task选核机制)

Utilization(利用率)有两个维度,一个是cpu的利用率,一个是task的利用率。cpu utilization反映的是cpu的繁忙程度,内核可以根据这个信息来动态调整cpu的频率以更好地适配其运行的任务。task utilization则反映的是这个任务对cpu的使用率,表明这个任务占用cpu的高低,内核可以根据这个信息来做任务适配性诊断、任务迁移等。

2025-08-28 23:45:39 305

原创 linux cfs调度与负载均衡漫谈(一:核心基础概念)

本文相关内核代码来自Linux 6.9版本众所周知,在linux内核中,有一共有5个调度器类:大部分都是老生常谈的概念了,只是一般会有人搞混调度策略和,这两个是完全不同的概念,这里简单提两句:在linux内核的选核策略代码中,经常会看到对cpu idle的情况判断,例如:那么其中就是用来判断target cpu是否进入了idle task, 而 则用来判断target cpu是不是正在执行的cfs任务,这两种情况对cpu来说都可以说是"空闲"的,当然前一个要更闲一点。详情见下面代码:sched_idl

2025-08-28 23:35:06 829

原创 CUDA AI GPU编程模型简介

本来是用来做AI GPU/NPU用户端使用场景介绍的,因为主要是以CUDA的文档为参考,所以下面都是CUDA的概念,但是这些是通用的,华为ascend,包括现在各种自研的,对用户场景的抽象都差不多。CUDA编程模型是一个异构模型,需要CPU和GPU协同工作。在CUDA中,host和device是两个重要的概念,我们用host指代CPU及其内存,而用device指代GPU及其内存。CUDA程序中既包含host程序,又包含device程序,它们分别在CPU和GPU上运行。

2025-07-03 12:32:42 643

原创 linux DMA API与cache coherent一本通

以下内容中的代码基于linux 5.15.148 版本以上两种类型内存的访问,主要包括上图中三个方向:CPU访问物理内存(CPU -> DRAM)设备访问物理内存(Device DMA -> DRAM)设备内存访问(CPU -> Device Memory)总的来说,从CPU侧和从设备侧访问DRAM内存的路径是一样的,访问物理内存时,可以认为 虚拟地址 和 总线地址 都是Virtual的地址,都需要通过一个地址转换硬件(CPU侧是MMU,device侧是IOMMU),将虚拟地址转换为物理内存DRAM的实际物

2025-07-03 11:27:12 670

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除