想写这篇文章好长时间了,一直没有来得及总结,今天我把这个坑填上!
Systemtap是一种动态调试内核的工具,可以极大地方便内核开发人员对于内核的调试,过去,内核想要调试,必须在源码中打入print()然后进行编译,安装内核重启,这个导致内核调试复杂。 » Read more: SystemTap Kprobe原理
想写这篇文章好长时间了,一直没有来得及总结,今天我把这个坑填上!
Systemtap是一种动态调试内核的工具,可以极大地方便内核开发人员对于内核的调试,过去,内核想要调试,必须在源码中打入print()然后进行编译,安装内核重启,这个导致内核调试复杂。 » Read more: SystemTap Kprobe原理
在看内核编程前,几点重要的建议: » Read more: 内核开发特点&进程管理(读书笔记)
最近在看存储器层次结构,之前知道各级存储器为了弥补速度上的巨大差距,开发出了cache来提高命中率,加快取指运算的速度。
这对我们编写代码来说有非常重要的影响,因为许多程序具有局部性,包括时间局部性与空间局部性。
在现在CPU中,往往具有多级cache L1 L2 L3 ,在i7处理器中,L1 的数据cache 指令cache为每个核私有,L2 cache连接L1上面的两个cache,L3为所有核共享。
cache与主存连接的方式有多种:直接映射高速缓存,组相连映射高速缓存。 » Read more: 存储器层次结构(读书笔记)
SIMD俗称单指令流,多数据流,就是同一条指令被多个数据流的多处理器执行。SIMD通过将相同的操作以并行的方式应用在数据的各个项来实现数据级的并行。我们在选购处理器的时候,经常会关注指令集。我们以SSE为例,SSE俗称Streaming SIMD Extensions 的缩写,思想就是每个16字节的XMM寄存器可以存放多个值。可以存放4个int和float 或者两个double 。SSE指令可以使用这些xmm寄存器执行向量操作。 » Read more: CPU指令并行化(读书笔记)
项目地址:http://www.cs.utah.edu/dept/old/texinfo/as/gprof.html
gprof是一个 可以通过运行程序,确定程序函数的执行时间。
这个程序依赖gcc -g -pg ,通过这个可以获取丰富的调试信息,供我们以后代码优化使用。
» Read more: GPROF 使用