Linux kernel基础
文章平均质量分 89
不积跬步无以至千里mmbb26
这个作者很懒,什么都没留下…
展开
-
【中断】【ARM64】学习总结
从arm手册可以看出,异常向量表在EL1~EL3都有,本文只涉及Linux kernel中的实现,即只涉及EL1和EL0。原创 2024-05-02 10:29:17 · 272 阅读 · 0 评论 -
[Linux kernel] [ARM64] boot 流程梳理
[Linux kernel] [ARM64] boot 流程梳理原创 2023-08-07 07:28:43 · 702 阅读 · 0 评论 -
【Linux kernel/cpufreq】framework ----big Little driver
一般ARM SOC包含能效和性能两个cluster,共8个 core,可以把这8个core统统开放给kernel,让kernel的调度器(scheduler)根据系统的实际情况,决定哪些任务应该在哪些core上执行。。原创 2022-11-25 21:45:36 · 915 阅读 · 1 评论 -
【Linux kernel/cpufreq】framework ----cpufreq governor
基于linux模块化的设计,早期的governor基本都是对CPU的使用率进行定时采样检查,然后根据使用率的情况调整CPU频率。原创 2022-11-01 21:33:16 · 1551 阅读 · 0 评论 -
【Linux kernel/cpufreq】framework ----cpufreq core
当CPU device和CPU driver匹配时,bus core会调用subsys interface的add_dev回调函数,相当于为该特定功能添加一个“device”,进而和该特定功能的“driver”(这里为cpufreq driver)匹配,执行driver的初始化(probe,或者其它)接口。对于不能自动调频的CPU core,必须由软件设定具体的频率值。init,driver的入口,由cpufreq core在设备枚举的时候调用,driver需要根据硬件情况,填充policy的内容。原创 2022-10-28 22:36:52 · 878 阅读 · 0 评论 -
【Linux kernel/cpufreq】framework ----初识
对CPU core来说,功耗和性能是一对不可调和的矛盾,通过调整CPU的电压和频率,可以在功耗和性能之间找一个平衡点。这种实现,软件复杂度非常低,通常情况下,只需要告诉CPU core电压和频率的调整范围(通过频率表示,scaling_min_freq和scaling_max_freq,也称作policy),CPU core即可自行调整。关键点2,OS需要根据大致的应用场景(例如,是高性能场景,还是低性能场景),设定一个频率范围,改变时机,由CPU core自行决定。原创 2022-10-27 21:11:30 · 984 阅读 · 0 评论 -
【Linux kernel/CPU idle】CPU Idle ----menu governor
Linux kernel的framework有两种比较固定的抽象模式:模式1,provider/consumer模式,interrupt、clock、timer、regulator等大多数的framework是这种模式。它的特点是,这个硬件模块是为其它一个或多个模块服务的,因而framework需要从对上(consumer)和对下(provider)两个角度进行软件抽象;模式2,driver/governor模式,本文所描述的cpuidle framework即是这种模式。原创 2022-10-26 18:50:47 · 1094 阅读 · 0 评论 -
【Linux kernel/CPU idle】CPU Idle ----framework
当cpu没有执行任务的时候,系统是如何管理cpu的?如果没有运行任务直接对cpu下电,确实做到低功耗了,但会导致下次跑任务,CPU启动太慢会导致性能太拉跨。原创 2022-10-25 21:51:24 · 1892 阅读 · 0 评论 -
【Linux kernel/CPU idle】CPU Idle 初探
idle 进程是当系统没有调度 CPU 资源的时候,会进入 idle 进程,而 idle 进程的作用就是不使用 CPU,以此达到省电的目的。原创 2022-10-24 22:09:34 · 1152 阅读 · 0 评论 -
源码相关总结
这里写自定义目录标题欢迎使用Markdown编辑器Linux源码(微信)[ANDROID SOURCE](http://www.aospxref.com/?from=groupmessage)Linux生产环境上,最常用的一套“vim“技巧十多种电容分类详解插入链接与图片M6G2C设备树使用简介生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建...原创 2019-10-31 04:53:17 · 121 阅读 · 0 评论 -
【Linux kernel基础】arch_initcall到底是怎么是一回事【doing】
arch_initcall学习原创 2022-06-24 08:15:54 · 882 阅读 · 0 评论