会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
smilingsusu
博客园
首页
新随笔
联系
订阅
管理
2021年6月6日
可重定位文件结构分析
摘要: 可重定位文件结构分析1. 文件头使用命令readelf –h vmlinux查看elf文件头:[mszsdtcf49][~/ws/arm_elf_linux/relocate_elf_reader]$ readelf -h vmlinux.oELF Header: Magic: 7f 45 4c 4
阅读全文
posted @ 2021-06-06 16:50 smilingsusu
阅读(1647)
评论(0)
推荐(1)
2021年4月12日
一个自动code review的Python例子
摘要: 1.背景 经常性遇到要review一堆commit,这里写了一个能够自动搜索需要自己review的change,然后review +2的方法,当然也可以自定一下,实现其他操作。 2.代码 #! /usr/bin/python import re import urllib import reques
阅读全文
posted @ 2021-04-12 22:49 smilingsusu
阅读(441)
评论(0)
推荐(0)
2021年4月8日
如何使用kernel中的list结构来保存自定义数据
摘要: 1.首先定义自己所需的结构体。 struct my_mapping_struct { struct list_head list; int file; void *virt; struct my_data *md; } 2.定义并初始化一个全局的list head与一把mutex。 static D
阅读全文
posted @ 2021-04-08 19:57 smilingsusu
阅读(166)
评论(0)
推荐(0)
2021年3月31日
一种memory问题导致的kernel panic的处理方法
摘要: 下面是一个在kernel panic或者oops之后,能够打印更多内存信息的patch,主要用到前面介绍的die notify功能注册oops/painc回调函数。 #include <linux/mm.h> #include <linux/spinlock.h> #include <linux/s
阅读全文
posted @ 2021-03-31 22:23 smilingsusu
阅读(590)
评论(0)
推荐(0)
ARM64 kernel中判定一个虚拟地址是否有对应的物理地址(是否可以访问)的方法
摘要: 最近在做一个panic事后的处理时,需要读取寄存器信息,然后找到对应的物理地址。 然后发现Linux中,已经有实现的类似的功能,现在拿过来做地址有效性判定,感觉还是很不错的。 #include <asm/esr.h> #include <asm/sysreg.h> #include <asm/sys
阅读全文
posted @ 2021-03-31 11:17 smilingsusu
阅读(861)
评论(0)
推荐(0)
2021年3月30日
event trace 跟踪 schedule switch的例子
摘要: 1.背景 最近debug时,需要trace schedule switch的前后进程,所以写了一个event trace的程序。 2.代码 #include <linux/tracepoint.h> #include <trace/events/sched.h> #include <linux/me
阅读全文
posted @ 2021-03-30 11:42 smilingsusu
阅读(316)
评论(0)
推荐(0)
2021年3月29日
Ftrace hook的使用方法,利用Ftrace写一个memory debug程序
摘要: 1. 背景 Ftrace利用汇编时,在每个函数的入口处放一个mcont函数来monitor代码行为,利用这一个特性,可以写一个程序来监控每个函数执行后,系统的memory状态的功能。 2.代码 这里主要是检查0x90000000 ~ 90200000中间2M内存的每个page的0x520处memor
阅读全文
posted @ 2021-03-29 20:55 smilingsusu
阅读(229)
评论(0)
推荐(0)
2021年3月16日
查找slub的前一项和打印当前slub track的例子
摘要: debug时,经常会需要打印slub的前一项(内存被前一个slub向后被踩),这里提供一个简单的例子,可以打印当前slub信息,并且返回前一个slub信息,重复调用可以不停的打印slub信息。 static void *_find_prev_slab_and_print_slub(phys_addr
阅读全文
posted @ 2021-03-16 09:30 smilingsusu
阅读(117)
评论(0)
推荐(0)
2021年3月8日
[RCU stall] RCU stall 分析,RCU stall 内核文档翻译
摘要: 使用RCU的CPU失速检测器 本文档首先讨论RCU的CPU停顿检测器可以定位哪些问题,然后讨论可用于微调检测器操作的内核参数和Kconfig选项。最后,本文解释了失速检测器的“splat”格式。 是什么导致RCU CPU停顿警告? 是因为您的内核会打印RCU CPU停止警告。下一个问题是“是什么原因
阅读全文
posted @ 2021-03-08 15:45 smilingsusu
阅读(6997)
评论(0)
推荐(0)
2021年3月4日
几个Ftrace 可视化工具
摘要: https://www.eclipse.org/tracecompass/ https://www.kernelshark.org/
阅读全文
posted @ 2021-03-04 19:16 smilingsusu
阅读(649)
评论(0)
推荐(0)
下一页
公告