- 博客(9)
- 收藏
- 关注
原创 VirtIO与PCIe:讲讲我理解的PCIe
前面我们聊了VIrtio的数据结构,通知形式,不了解的同学可以翻翻之前的文章。今天我们一起来看看基于PCIe的VirtIO实现。
2024-03-10 21:40:13
637
1
原创 Virtio的实际执行流程,以收包为例详细讲讲
其实整体的流程不是特别复杂,我们以Virtio1.0及以下的Split 模式的Virt queue来看看队列具体是如何进行工作的。driver提供buffer,放到desc table之中(如果是chain模式的话,可能是多个buffer组成的chain,简化来看我们不用管它)更新avail ring, driver 将已经放入buffer的desc ring的idx信息(如果是chain模式,则是chain的头部的idx)放入avail ring中以上步骤1和步骤2可能执行多次。
2024-03-02 23:03:46
961
原创 聊聊VirtIO的数据结构 —— Split virt queue
virtIO是Linux平台下的一种半虚拟化的实现方式,是一种实现出来的技术,并最终得到了标准化。为什么需要有VirtIO,本质上其实是虚拟化需要一个高效且标准的生产者-消费者队列实现。首先我们需要确认,我们所说的生产者和消费者,即虚拟device和driver是如何进行通信的。
2024-02-27 23:57:25
1013
原创 探究CPU等设备频率、电压、功耗的关系 —— Linux中的OPP_table与energy model
Operating Performance Points(OPP),SOC中允许一些域以较低的频率和电压运行,而其他的域运行在较高的电压和频率上。将域中每个设备支持的电压和频率的离散元组的集合称为Operating Performance Points。其实OPP_table存在的核心意义还是为了功耗和性能之间的平衡,否则我们都把SOC直接拉到满频率跑就完事儿了,哪儿来这么多事情呢?
2023-04-05 13:38:34
3225
2
原创 Linux内核中最牛逼的温控方案——IPA(三)
本篇文章主要专注在ipa的代码分析,拖更了三个月,我们还是花三篇文章的篇幅把整个thermal_governor中最复杂的governor —— IPA给讲完了,实际应用中我们可能会碰到更多的问题,像是移动设备的使用延迟、功耗模型的准确度等等,内核中的解决方案非常多,值得我们好好分析,好好学习。
2023-03-27 21:29:00
1061
原创 Linux内核中最牛逼的温控方案——IPA(二)
IPA(intelligence power allocator),从名字可以分成一部分,Intelligence是一部分,power allocator是另一部分。我们这次来先来说说intelligence的部分,这里本质上其实是一个基于闭环控制的系统。
2023-03-06 22:21:25
1841
4
原创 Linux内核中最牛逼的温控方案——IPA(一)
讲讲Linux内核强大的源生温控方案IPA(intelligence power allocator)的起源以及工作流程。这是第一篇,先讲讲CPU的发热原理以及内核的温度控制框架。
2022-12-18 16:24:26
2597
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人