Linux调试
文章平均质量分 92
hjkfcz
这个作者很懒,什么都没留下…
展开
-
kpatch-build工具和livepatch原理分析
内核kpatch机制是函数级的热替换技术,主要包含四大主件: kpatch-build:用于将源码patch生成ko热补丁 patch module:指生成的ko热补丁,包括需要新的函数和被替换函数的记录信息 kpatch core module: kpatch核心代码模块,为新旧函数热替换提供接口,使用kpatch时候是kpatch.ko模块,使用livepatch的时候不存在,因为内核已经支持livepatch kpatch utility: ...原创 2021-06-06 23:12:40 · 4381 阅读 · 1 评论 -
ebpf原理分析
ebpf原理解析原创 2020-03-17 10:50:48 · 10255 阅读 · 1 评论 -
systemtap定位内核bug
本周在调试网卡驱动的时候遇到一个费解的bug,借助systemtap工具,费了一天的时间给定位出来了,以此做一个记录。 工作机环境是Ubuntu 14.04,内核版本3.14.8,两台这样的机子通过我们的网卡进行通信。网卡是基于fpga实现的PCIe接口的网卡,驱动是我写的单队列千兆网卡。当时两台主机client和server通过nc进行tcp连接,主机与网卡的pcie通信已经完全调通,但原创 2017-11-19 01:13:33 · 590 阅读 · 0 评论 -
Ubuntu上systemtap安装
听群里的弟兄们讨论Linux内核调试神器systemtap的神奇,自己也动手安装下玩玩,参照了前辈们的博客教程,并以此文做个简单的记录。 以下就是安装的过程: (一)安装elfutils,提供分析调试信息的库函数,及libcap-dev sudo apt-get install elfutils sudo a...原创 2017-11-17 00:08:04 · 2261 阅读 · 0 评论 -
编译器优化导致xfs的assert失败问题追踪
最近公司arm机子上,xfs文件系统在一个目录快速创建文件的时候,如果在同一目录vim 创建新文件,会偶尔出现xfs文件系统爆出assert失败,并导致内核oops,卡死当前创建进程,内核没有死,但xfs已经变得不可用,任何文件操作都会卡死操作进程。 经过两周的排除,最终确定是Amlogic厂家提供的交叉编译工具gcc 4.9.0的bug,优化不当导致的。排查过程记录如下: (1)内核日...原创 2018-08-26 19:04:24 · 1112 阅读 · 0 评论 -
内核kmalloc内存越界排查过程
<1>.现场分析 ,log信息如下:3 [ 60.623647@0] Unable to handle kernel paging request at virtual address ef8000044 [ 60.625413@0] pgd = e01a00005 [ 60.628250@0] [ef800004] *pgd=000000006 [ 60.631962@0...原创 2018-11-25 17:41:30 · 3736 阅读 · 0 评论 -
kmem_cache的alias问题导致lvm在线扩容crash问题分析
两个月前解决了lvm在线扩容的bug,当时未得空,现在得空记录一下,内核版本基于3.10.33。 线上万客云lvm在线扩容导致lvresize卡死,log 如下:[47572.794000] BUG kmalloc-192(0:docker_cloud) (Tainted: P B O): Objects remaining in kmalloc-192...原创 2019-02-28 15:19:53 · 1515 阅读 · 0 评论 -
bcache 写导致io hung问题的追踪
最近线上bcache机器爆出io hung的问题,出问题的机器占到灰度bcache的10%左右,其中一个日志如下:<3>[12041.639169@1] INFO: task qierouterproxy:22202 blocked for more than 1200 seconds.<3>[12041.641004@1] "echo 0 > /proc...原创 2019-02-19 19:41:01 · 2676 阅读 · 0 评论