首页
›
Linux内核与驱动
›
057-Linux内核内存管理
›
《ARM64 Linux缺页异常定位与处理延迟优化》
VIP10
本课程属于:057-Linux内核内存管理
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
ARM64 Linux缺页异常定位与处理延迟优化
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
缺页中断概述
缺页中断的定义 · 在虚拟内存管理中的作用 · 与MMU的关系
缺页
断概述
02
ARM64异常模型
异常等级(EL0-EL3) · 同步异常与异步异常 · 异常向量表
ARM64
异常模型
03
缺页中断入口
异常向量表配置 · el0_sync/el1_sync入… · 保存现场与栈切换
缺页
断入口
04
异常类型判断
ESR_EL1寄存器解析 · 异常类(EC)与指令长度(IL)字段 · 判断是否为缺页异常
异常类型判断
ESR
05
缺页异常分类
数据异常(DFSC)与指令异常(IF… · Permission fault · Translation fault
缺页异常分类
DFSC
06
do_mem_abort函数
从汇编入口到C函数的桥梁 · 参数传递(地址 · ESR
do
mem
07
用户态缺页路径
do_user_addr_fault… · 判断地址合法性 · 查找VMA
用户态缺页路径
do
08
内核态缺页路径
do_kernel_addr_fau… · 内核空间缺页的特殊性 · fixmap与vmalloc区域
内核态缺页路径
do
09
VMA查找与验证
find_vma函数 · 红黑树查找算法 · VMA权限与地址范围校验
VMA
查找
10
缺页原因分类
major fault与minor… · 匿名页缺页 · 文件映射缺页
缺页原因分类
major
11
匿名页缺页处理
do_anonymous_page函… · 分配物理页 · 清零
匿名页缺页处理
do
12
文件映射缺页处理
do_fault函数 · filemap_fault · 预读机制
文件映射缺页处理
do
13
写时复制缺页
do_wp_page函数 · 判断页表写权限 · 复制物理页
写时复制缺页
do
14
交换缺页处理
do_swap_page函数 · swap entry解析 · 从交换分区读回数据
交换缺页处理
do
15
设备映射缺页
vmf_insert_pfn函数 · IO内存映射 · pgprot_noncached设置
设备映射缺页
vmf
16
页表操作核心
set_pte_at · flush_tlb_page · DSB/ISB指令
页表操作核心
set
17
ARM64页表层级
4级页表(PGD/PUD/PMD/P… · 页表描述符格式 · LPAE特性
ARM64
页表层级
18
TLB管理与维护
TLB结构 · ASID机制 · TLB失效指令(TLBI)
TLB
管理
19
内存描述符mm_struct
mmap · pgd · rss_stat
mm
struct
20
VMA操作
vma_merge · vma_split · mmap_lock读写锁
VMA
操作
21
物理内存分配
alloc_page_vma · GFP标志 · 内存回收触发
物理内存分配
alloc
22
内存回收与缺页
kswapd唤醒 · LRU链表 · shrink_page_list
内存回收
缺页
23
大页缺页处理
透明大页(THP) · hugetlbfs · pmd/pud级别的缺页
大页缺页处理
THP
24
KSM与缺页
KSM合并原理 · 缺页时检查KSM页 · write-protect机制
KSM
缺页
25
用户态缺页信号
SIGSEGV · SIGBUS · core dump
用户态缺页信号
SIGSEGV
26
调试与跟踪
ftrace跟踪缺页事件 · perf page-fault事件 · kprobe动态插桩
调试
跟踪
27
性能优化
prefault技术 · madvise(MADV_WILLN… · page cache预读
性能优化
prefault
28
SMP与缺页并发
mmap_lock竞争 · per-CPU页表 · 原子操作与内存屏障
SMP
缺页并发
29
ARM64特有优化
硬件页表遍历(HW PTE) · 连续块(Contiguous bit… · 16K/64K页支持
ARM64
特有优化
30
缺页中断全流程总结
从异常触发到返回用户态 · 关键数据结构关系图 · 性能瓶颈分析
缺页
断全流程总结
所属VIP或分类
同VIP:ARM64-Linux页表管理与地址转换调试
同VIP:CMA连续内存分配:多媒体驱动与DMA内存配置
同VIP:Linux内存映射编程与内核栈溢出调试