linux
文章平均质量分 83
lunhui2016
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
通过Ftrace使用kprobe技术
Linux内核kprobe调试技术分析摘要 本文介绍了Linux内核5.10版本中的kprobe调试技术,这是一种轻量级的内核函数跟踪方法。kprobe允许动态插入探测点,收集函数参数、局部变量和执行时间等信息。文章重点讲解了基于ftrace的kprobe使用方法,包括配置选项、事件节点操作和具体使用示例。详细说明了kprobe事件添加的语法格式,包括函数探测(p)、返回探测(r)的参数设置方法,以及寄存器、内存地址、栈空间等数据的获取方式。通过echo命令演示了如何添加sys_openat2等函数的探测点原创 2025-10-09 14:16:38 · 866 阅读 · 0 评论 -
trace-cmd结合blktrace分析io慢
Linux IO性能分析原创 2025-05-07 12:45:03 · 1072 阅读 · 0 评论 -
Linux HRTICK调度特性理解
Linux内核在kernel/sched/features.h文件中,有一个HRTICK调度特性配置选项,默认是false的,在内核支持高精度调度时钟配置后,是否需要支持该特性,才能生效?或者该特性另有其他用途?本文用于解答这个疑问。Linux 内核版本:4.14。原创 2025-02-18 12:13:12 · 639 阅读 · 0 评论 -
crash工具分析dma设备内存踩踏(二)
kernel panic、dma设备内存踩踏、crash工具原创 2023-10-14 13:33:42 · 1500 阅读 · 2 评论 -
crash工具分析dma设备内存踩踏(一)
kernel panic、dma设备内存踩踏、crash工具原创 2023-10-07 13:51:47 · 1388 阅读 · 0 评论 -
Crash分析gpu非法访问地址问题
crash, kernel panic原创 2023-04-20 13:35:49 · 1325 阅读 · 0 评论 -
Crash工具介绍和常见命令使用
本文主要介绍crash工具的使用以及常用的命令。crash工具,常用来分析内核的coredump以及应用的coredump,功能非常强大。原创 2023-04-19 20:46:24 · 6628 阅读 · 1 评论 -
Ftrace分析cpu idle被周期唤醒原因
Linux/tick/idle/sched原创 2023-01-31 20:40:41 · 1125 阅读 · 0 评论 -
qemu arm虚拟机联网
1.介绍2. 互联环境搭建2.1 准备宿主机环境2.2 准备qemu环境3. qemu虚拟机挂载samba文件系统1.介绍通过qemu模拟arm虚拟机,但由于arm虚拟机只要ramfs,有时保存文件非常不方便,因此希望windows跟vmwarre Linux虚拟机一样,可以联网,这样就可以互联互通,方便调试。联网方式:windows<----桥接---->vmware linux<----桥接---->qemu arm linux2. 互联环境搭建2..原创 2022-03-26 10:32:49 · 3609 阅读 · 0 评论 -
kmalloc使用不当导致内存分配失败问题
#1. 介绍本文记录分析驱动模块kmalloc接口的flags参数使用不当,导致分配内存失败的问题,主要记录了分析过程和给出的解决方法。#1.1 背景介绍在对spi nand flash进行读写老化,因此在用户态通过rwcheck工具对flash进行读写老化,在读写老化过程中,高概率出现内核oom现象,具体板级信息说明如下:内存大小:128MCPU:双核A7#2. log分析在读写测试时,oom log如下所示:remove : /mnt/UDISK/rwcheck.tmp.36 ...原创 2021-05-15 23:56:00 · 3367 阅读 · 2 评论 -
ION内存管理器介绍
ION与CMA学习1. ION介绍ION是google在Android4.0为了解决内存碎片化管理而引入的通用内存管理器,用来支持不同的内存分配机制,如CARVOUT(PMEM),物理连续内存(kmalloc),虚拟地址连续但物理地址不连续内存(vmalloc),IOMMU等。2. ION框架[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0CxQF3tE-1609049784161)(./figures/framework.png)]名词解释:ion clien原创 2020-12-27 14:55:31 · 8215 阅读 · 0 评论 -
dts展开为platform_device结构过程分析
dts节点展开为platform_device结构过程分析1.概述本文主要是记录学习Linux解析dts的代码分析,以便进行后续回顾。平台:ARM Vexpress内核版本:linux-4.92.dts节点展开为platform_device结构过程分析自从ARM引入的dts之后,bsp驱动代码产生了非常之大的变化,像在linux-2.6.32这些版本的platform驱动中,会存在大...原创 2020-04-21 23:46:17 · 2029 阅读 · 0 评论 -
linux内核current宏介绍
1.概述本文主要介绍linux current宏在arm和arm64上的实现内核版本:Linux 5.32.current在arm和arm64上的实现在linux 内核中,有一个current宏,通过该宏,可以获取当前进程的task_struct数据结构。在arm上,就是利用了内核栈特性来实现的,记录如下:首先,如果没有在arch/xxx/include/asm/目录下没有定义该宏,则该...原创 2020-03-14 15:13:45 · 6873 阅读 · 3 评论 -
struct page的flags成员和常用函数说明
1.概述本文主要解析struct page的flags成员中相关bit的含义以及其重要的标志位说明,简单说明一下Linux内核常见的PageXXX()/SetPageXXX()/ClearPageXXX()函数的作用和实现。内核版本:linux-4.92.struct page结构struct page { /* 第一个双字大小的区块 */ unsigned long flags; ...原创 2020-02-22 15:44:39 · 2869 阅读 · 0 评论 -
ftrace使用介绍
ftrace使用介绍1.介绍Ftrace是一个专门针对linux kernel内核空间的debug工具,用于帮助开发者在用户空间对内核低延时,内核性能等方面的分析。尽管ftrace最开始设计时主要是为了追踪函数的调用栈,但随着功能的增强,已经演变成一个跟踪框架,支持多种跟踪器,如function、function_graph、wakeup、irq等。另外一个很常用的功能就是事件跟踪,在用户空...原创 2019-03-20 00:09:04 · 3150 阅读 · 2 评论 -
ARM多核启动分析
ARM多核启动分析#1.概述本文主要是记录学习Linux的多核启动的过程,对学习过程进行总结,以便进行后续回顾。平台:ARM Vexpress内核版本:linux-4.9#2.smp_operations初始化系统启动过程中,Linux kernel提供了smp boot实现的框架,要实现smp boot,先要填充好smp_operations这个结构体,smp_operations结...原创 2018-09-29 21:20:16 · 3833 阅读 · 0 评论 -
VMware下基于RHEL_6.0虚拟机的samba服务器安装
1.linux2.samba3.服务器原创 2016-12-07 14:52:07 · 688 阅读 · 0 评论
分享