
Linux Kernel
文章平均质量分 92
呆呆辉
苦逼底层攻城狮
展开
-
学生时代的Linux内核读书笔记
翻硬盘时找到了2007年时阅读Linux内核的读书笔记。没想到那时居然对着英文原版书居然总结了那么多内容,加起来快300页了。他们见证了我苦逼的研究生生活。工作后都忘记了有写过这些笔记。传上来希望对学弟学妹们有所帮助。可以随意修改和转载。。。博客不能上传附件,只能传到csdn的下载中心了,系统规定下载资源分最少也要1,没资源分的对不住了~~~~~深入理解Linux网络内幕笔记 http...原创 2018-06-03 06:20:13 · 902 阅读 · 1 评论 -
Glibc的一个潜在的坑
问题描述: https://sourceware.org/ml/libc-help/2016-09/msg00000.html为什么会出现内存无法真正回收给系统呢?答案是永远不会回收给系统。当需要分配的内存小,达不到需要走mmap内存模式时,glibc会用brk()分配内存,如果brk()失败了呢?正如链接里代码,强行在堆顶部mmap块内存(之后的brk()会强制失败),此时glibc会...原创 2018-06-06 08:12:36 · 1487 阅读 · 0 评论 -
坑:Centos7.4 升级内核到4.1X后出现glibc的ABI不兼容问题
Centos7升级了最新4.14内核后,发现当内存不足,发生oom killer后。如果杀死的进程是调用pthread锁的多进程程序,恭喜你,被杀掉的进程不会释放锁,华丽的死锁拉。Centos7 + 原生内核没问题,Fedora 27 + 4.14内核也没问题。Centos 7 + 4.14内核就会死锁。稳定还原Bug代码是朋友写的,就不贴出来了。红帽子估计也不会解决这个。在Centos7上升...原创 2018-06-06 10:15:58 · 1381 阅读 · 0 评论 -
Intel X86 优化指南阅读笔记--基础体系结构
Intel Sandy Bridge Microarchitecture流水线前端按顺序取指令和译码,将X86指令翻译成uop。通过分支预测来提前执行最可能的程序路径。带有超标量功能的执行引擎每时钟周期最多执行6条uop。带有乱序功能的执行引擎能够重排列uop执行顺序,只要源数据准备好了,即可执行uop。顺序提交功能确保最后执行结果,包括碰到的异常,跟源程序顺序一致。...原创 2018-08-24 09:43:29 · 2563 阅读 · 2 评论 -
Linux内核进程调度子系统总结
在业务性能分析中,很多问题都是进程调度所引起。现特地总结进程调度子系统一些关键点,参考3.10内核源码。提纲task_struct家族关系pid namespace常用统计值pidstat工具调度器实时调度器CFS调度器调度时机和抢占进程负载均衡调度域调度算法task_struct在Linux内核中,task_struct是对进程和线程的统一抽象,一个task_struct结构代表了一个进程...原创 2019-09-11 10:20:29 · 1389 阅读 · 0 评论 -
perf stat 输出详解
这次对照内核源码以及intel sdm手册,对perf stat统计项做一次详细的梳理。力图做到权威,减少理解的偏差。硬件事件,最终会落实到cpu pmu来统计。这些事件属于perf_event_open()接口中的PERF_TYPE_HARDWARE大类。选项编码(event/umask)Intel SDM 解释补充说明cycles0x3c, 0x00Coun...原创 2019-09-11 10:20:55 · 5606 阅读 · 2 评论