
linux
文章平均质量分 81
lunhui2016
这个作者很懒,什么都没留下…
展开
-
Linux HRTICK调度特性理解
Linux内核在kernel/sched/features.h文件中,有一个HRTICK调度特性配置选项,默认是false的,在内核支持高精度调度时钟配置后,是否需要支持该特性,才能生效?或者该特性另有其他用途?本文用于解答这个疑问。Linux 内核版本:4.14。原创 2025-02-18 12:13:12 · 472 阅读 · 0 评论 -
crash工具分析dma设备内存踩踏(二)
kernel panic、dma设备内存踩踏、crash工具原创 2023-10-14 13:33:42 · 1188 阅读 · 2 评论 -
crash工具分析dma设备内存踩踏(一)
kernel panic、dma设备内存踩踏、crash工具原创 2023-10-07 13:51:47 · 1006 阅读 · 0 评论 -
Crash分析gpu非法访问地址问题
crash, kernel panic原创 2023-04-20 13:35:49 · 1136 阅读 · 0 评论 -
Crash工具介绍和常见命令使用
本文主要介绍crash工具的使用以及常用的命令。crash工具,常用来分析内核的coredump以及应用的coredump,功能非常强大。原创 2023-04-19 20:46:24 · 5858 阅读 · 1 评论 -
Ftrace分析cpu idle被周期唤醒原因
Linux/tick/idle/sched原创 2023-01-31 20:40:41 · 931 阅读 · 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 · 3339 阅读 · 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 · 3140 阅读 · 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 · 7409 阅读 · 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 · 1946 阅读 · 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 · 6567 阅读 · 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 · 2623 阅读 · 0 评论 -
ftrace使用介绍
ftrace使用介绍1.介绍Ftrace是一个专门针对linux kernel内核空间的debug工具,用于帮助开发者在用户空间对内核低延时,内核性能等方面的分析。尽管ftrace最开始设计时主要是为了追踪函数的调用栈,但随着功能的增强,已经演变成一个跟踪框架,支持多种跟踪器,如function、function_graph、wakeup、irq等。另外一个很常用的功能就是事件跟踪,在用户空...原创 2019-03-20 00:09:04 · 2996 阅读 · 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 · 3731 阅读 · 0 评论 -
VMware下基于RHEL_6.0虚拟机的samba服务器安装
1.linux2.samba3.服务器原创 2016-12-07 14:52:07 · 662 阅读 · 0 评论