最近因工作需要,需要精确计算CPU的performance,顺便查了下,应该如何稍微精确的计算CPU的频率。
大概网上搜到三种方法:1,使用rdtsc,通过tsc计算CPU频率;2,IA32_APERF 和 IA32_MPERF两个MSR计算;3,系统接口”/sys/devices/system/cpu/cpu
下面来分别比较下三种方法的优劣:
Intel指令AMX_TMUL
一个可读可写的procfs模板,基于kernel-5.12
Posted on
Edited on
一个最简单的内核模块,其中创建一个最简单的可读可写的proc fs的模板,供大家参考和备忘。
首先创建一个文件,或者干脆把新模块文件放在<linux source>/fs/proc/文件夹中,命名debug_sy.c
1 | #include <linux/module.h> /* Specifically, a module */ |
创建一个mini内核
Posted on
Edited on
由浅入深CrosVM(五)—— Crosvm的开发和调试
创建mini虚拟机镜像(updated to ubuntu 24.04)
ELF可执行文件详解
本文我们来一起探索下ELF的真容。我们将尝试从头开始以十六进制生成Linux的”Hello world”程序。为了讲解最底层的ELF原理,我们这里尽量不使用gcc,ld等编译工具。希望通过本文,让读者对操作系统如何加载和运行程序的原理有所了解。
为了使生活更轻松,本文将仅关注一种体系结构:AMD64(x64)和一种操作系统Linux。不需要编译器、链接器甚至标准库。我们创建最简单的ELF可执行程序,直接使用系统调用。我将详细介绍并描述所有“源代码”,即十六进制的文件。然后使用工具’xxd’将其转换为二进制文件。