本文分析Linux上perf子系统的基本逻辑,分析基于的内核版本是v6.7-rc6,分析基于 ARM64架构和RISCV构架。
现代CPU性能分析与优化-笔记
本文是performance analysis and tuning on modern CPUs的读书笔记,原文的位置 在https://book.easyperf.net/perf_book。这本书已经有了中文翻译的版本,总的 看来翻译的指令还好,这本书基于CPU微架构讲了用perf调优的基本方法,perf也主要 是使用了Intel CPU PMU的相关event。总体上看,这本书虽然写的比较科普,但是对 调优时可能遇到的微架构概念都有清晰的介绍,值得一读。 这本书没有长逻辑链, 所以我们就只是分章节单点记录下要点。
Linux内存管理-伙伴系统分析
文本分析Linux内核内存管理中伙伴系统的基本逻辑。代码分析基于v6.5-rc3。
使用herd7做ARM内存模型验证
本文介绍使用herd7做ARM内存模型验证的基本逻辑。
qemu tcg中barrier指令的模拟
本文分析qemu tcg中barrier指令模拟的基本逻辑,分析基于qemu代码的版本是v8.1.50。
ARM64内存模型笔记-B2.2/B2.3
本文是ARM64 spec 2.2/2.3章节的学习笔记。ARM的spec不同的版本这两节的定义语言 描述变化有点大,我们这里使用的是2023.4.12的版本,另外,这个版本的行文似乎 比较乱,看的时候可以对比着上一个版本的看。
阿姆达尔定理的测试
本文介绍计算机领域著名的阿姆达尔定义的测试方式,展示一个简单的测试逻辑框架。
qemu跟踪CPU指令执行的逻辑
本文介绍下qemu tcg下跟踪CPU指令执行的逻辑,并用一个小例子观察qemu跟踪指令 执行的效率。可以看到qemu跟踪指令执行的效率还是比较低的,在实际调试时,我们 更多采用不断缩小问题范围+指令执行跟踪来定位和调试问题。
无锁队列实现分析
本文分析无锁队列的实现逻辑,并给出一个简易无锁队列的C实现。
Linux内核memory barrier文档学习
有开发者翻译了Linux内核文档里memory-barrier.txt这篇文章(https://lkml.org/lkml/2023/8/11/83), 我们这里以这篇文章作为基础,逐段学习下相关内容。我们直接把翻译内容拷贝过来, 自己的学习内容会以注释的方式插入正文中,注释以comment:开头,注释为红色字体。