06 2022 档案
摘要:cpuidle解决什么问题 在计算机系统中,CPU的功能就是不断地取指、译码、执行,那如果CPU没有程序要执行,CPU不需要执行计算任务,也不需要响应外部中断事件,CPU要怎么办?在Linux kernel中,这种CPU的无所事事的状态,被称作idle状态,而cpuidle framework,就是
阅读全文
摘要:CPU hotplug是什么 CPU core的状态 kernel使用4个bitmap,来保存分别处于4种状态的CPU core:possible、present、active和online。 整理软件流程 start_kernel -> boot_cpu_init // 标记boot core的状
阅读全文
摘要:内核之下划线 内核中经常有这样的函数,xxx、_xxx或者__xxx,区别是一个或者两个下划线,其中的含义是: xxx接口,通常需要由某个锁保护,一般提供给其它模块调用。它会直接调用_xxx接口; _xxx接口,则不需要保护,一般由模块内部在确保安全的情况下调用。有时,外部模块确信可行(不需要保护)
阅读全文
摘要:CPU topology除了描述CPU的组成之外,其主要功能,是向kernel调度器提供必要的信息,以便让它合理地分配任务,最终达到性能和功耗之间的平衡。 单核和多核 在英文里面,单核(single-core)和多核(multi-core)多称作uniprocessor和multiprocessor
阅读全文
摘要:kernel/cpu.c kernel cpu control是一个承上启下的模块,向上层软件提供CPU core控制的统一API,主要功能包括: cpu mask 在模块内部定义并维护所有CPU core的状态,将CPU core抽象为possible、present、online和active四
阅读全文
摘要:CPU core电源管理分类 静态功耗 S/R:系统suspend和resume,系统长时间没有业务时CPU睡眠,有业务时通过中断唤醒 hotplug:动态的增加或者减少CPU core cpuidle:某个CPU core没有业务时,短时间的休憩,关闭core的部分逻辑电路,core可能有多个id
阅读全文
摘要:C语言历史 In 1978, Brian Kernighan and Dennis Ritchie published the first edition of The C Programming Language,often called the white book or K&R [Kernig
阅读全文
摘要:overview ARM FVP是arm提供的一个软件仿真平台,在还没有RTL EMU的情况下可以快速调试软件,加快软件的开发进度。FVP的安装与使用主要分为以下几步 下载安装FVP,软件运行的虚拟环境 下载software stack,代码集成编译环境,有大量脚本可简化操作 下载安装FVP htt
阅读全文