- 最近看到几个不常见的编程技巧:
- linux下的线程局部存储:http://blog.sina.com.cn/s/blog_5ea88c70010193is.html
- 互斥无锁队列:https://www.ibm.com/developerworks/cn/aix/library/au-multithreaded_structures2/index.html
- 同时要关注下内核中kfifo数据结构
- 火焰图的绘制
- 网址:http://www.ruanyifeng.com/blog/2017/09/flame-graph.html
- https://blog.csdn.net/21cnbao/article/details/78527777
- 命令:
perf record -F 99 -a -g -- sleep 60
perf script | ./stackcollapse-perf.pl > out.perf-folded
./flamegraph.pl out.perf-folded > perf-kernel.svg
- 关于trace的资料
- 关于并行编程–openMP
- 代码使用:#pragma omp parallel
- 编译选项:-fopenmp
- 执行选项:OMP_NUM_THREADS=4;GOME_CPU_AFFINITY=’1,2,3,4’
- 有一篇博客关于openmp编程总结相当到位,感谢:http://www.cnblogs.com/liangliangh/p/3565136.html
- 绑核NUMA工具
- 关于内核中锁的使用
- 驱动中使用spin_lock;非驱动使用spin_lock_irq