会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
smilingsusu
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
下一页
2020年5月6日
Linux下gprof和oprofiling性能测试工具
摘要: 一、简介 有些时候,我们特别关注程序的性能,特别是底层软件,比如驱动程序,OS等。为了更好的优化程序性能,我们必须找到性能瓶颈点,“好钢用在刀刃上”才能取 得好的效果,否则可能白做工作。为了找到关键路径,我们可以使用profilng技术,在linux平台上,我们可以使用gprof和oprofile工
阅读全文
posted @ 2020-05-06 14:04 smilingsusu
阅读(703)
评论(0)
推荐(0)
2020年4月28日
[KERNEL OOM] debug linux out of memory的一些技巧
摘要: 一、OOM处理的基本流程简单描述如下: 1、检查是否配置了/proc/sys/kernel/panic_on_oom,如果是则直接触发panic。 2、检查是否配置了oom_kill_allocating_task,即是否需要kill current进程来回收内存,如果是,且current进程是ki
阅读全文
posted @ 2020-04-28 17:23 smilingsusu
阅读(2852)
评论(0)
推荐(0)
2020年4月24日
[kernel]kernel启动时,如何在driver中获取uboot的bootargs
摘要: 1.介绍 Linux kernel中,我们经常需要从uboot传入一些参数给kernel,用来设置driver的行为。 2.方法 kernel已经封装好API了,使用方法非常简单,例子如下: 在bootargs中加入uartp_mode=1,则在driver初始化之前,就会设置uartp_optio
阅读全文
posted @ 2020-04-24 16:59 smilingsusu
阅读(1048)
评论(0)
推荐(0)
[HOW TO USE HW BRP] 如何使用ARM hardware self debug tools monitor 内存寄存器被踩问题。
摘要: 1.介绍 ARM自带有HW debug功能,作用是在某个内存或者地址被读写时,可以触发异常,然后我们可以在异常中进行一些必要信息的打印,比如stack,这非常有利于debug内存,寄存器越界读写的问题。 aarch32 linux4.9 kernel 有breakpoint的編碼例項data_bre
阅读全文
posted @ 2020-04-24 16:17 smilingsusu
阅读(1103)
评论(0)
推荐(0)
2020年4月15日
【Kernel ftrace】使用kernel ftrace追踪IRQ的例子
摘要: 1.简介 近期遇到一个uart数据部分丢失的问题,比较怀疑在中断中,寄存器发生异常。 选择使用kernel自带的Trace工具追踪UART IRQ信号。 2.使用方法 追踪IRQirq:irq_handler_exitirq:irq_handler_entry proc/interrupts //查
阅读全文
posted @ 2020-04-15 15:43 smilingsusu
阅读(1783)
评论(0)
推荐(0)
[panic] 一个kernel panic错误分析的例子
摘要: 1.首先从log分析,可以看到最后挂在mdrv_HDMI_GetSourceSelect + 0x8c处。 <4>[ 5022.810137] [<ffffff8000ffcd74>] mdrv_HDMI_GetSourceSelect+0x8c/0x118 [utpa2k] <4>[ 5022.8
阅读全文
posted @ 2020-04-15 09:10 smilingsusu
阅读(1186)
评论(0)
推荐(0)
2020年4月2日
[KERNEL DEBUG]debug syscall异常问题,ioctl操作uart设备异常问题。
摘要: 最近遇到在64bit kernel执行32bit的程序时,ioctl无法操作tty driver。问题是kernel中tty设备没有compat_ioctl回调导致的,最后自己修改uart_ops解决的问题。 在debug此问题时,需要在syscall中加入log,加入之后会导致log过多而影响观察
阅读全文
posted @ 2020-04-02 20:34 smilingsusu
阅读(476)
评论(0)
推荐(0)
2020年2月27日
[BOOTLOADER]UBOOT中增加backtrace功能
摘要: UBOOT中增加backtrace功能 目前有些bootloader中编译时,没有设置fp寄存器,因此无法打印出backtrace,调试时会较为麻烦,按照如下方法,可以在异常时增加backtrace打印,更加方便debug。 1. arch/arm/cpu/armv7/config.mk中加入编译参
阅读全文
posted @ 2020-02-27 10:47 smilingsusu
阅读(1291)
评论(0)
推荐(0)
2019年12月2日
[Linux MMAP]Linux kernel 访问固定物理内存的方法
摘要: 一、介绍 Linux中,如果需要访问物理内存,可以用kmalloc等申请空间,而如果需要访问特定物理内存,可以使用memremap、phys_to_virt。 Like user space, the kernel accesses memory through page tables; as a
阅读全文
posted @ 2019-12-02 17:16 smilingsusu
阅读(3054)
评论(0)
推荐(0)
2019年11月25日
[ARM DEBUG] 打印ARM far与fsr寄存器
摘要: 一、打印far、fsr寄存器,进行错误确认。 打印CP15的C5、C6寄存器进行错误信息确认。 unsigned int far, fsr; __asm__ ("MRC p15, 0, %0, c6, c0, 0" : "=r" far); __asm__ ("MRC p15, 0, %0, c5,
阅读全文
posted @ 2019-11-25 13:20 smilingsusu
阅读(1514)
评论(0)
推荐(0)
上一页
1
2
3
4
5
下一页
公告