摘要:
目录1. 前言2. 编写模块2.1 编写模块代码2.2 编写 Makefile3. 编译和运行3.1 编译3.2 运行3.2.1 加载模块3.2.2 卸载模块 1. 前言 限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。 2. 编写模块 2.1 编写模块代码 /* * 阅读全文
posted @ 2025-04-07 14:45
JiMoKuangXiangQu
阅读(26)
评论(0)
推荐(0)
摘要:
目录1. 前言2. 测试环境3. 配置步骤3.1 host 配置3.1.1 检查 host 对 TUN/TAP 和 网桥的支持情况3.1.2 网桥一端的建立:创建网桥设备,并添加 host 网卡到网桥3.1.3 网桥另一端的建立:TUN/TAP 配置3.2 guest 端的配置3.3 小结4. 参考 阅读全文
posted @ 2025-04-07 14:44
JiMoKuangXiangQu
阅读(186)
评论(0)
推荐(0)
摘要:
目录1. 前言2. 提交内核补丁的步骤2.1 从代码仓库下载内核源码2.2 建立本地分支 linux-next_master2.3 制作一个补丁2.3.1 编辑器 VIM 配置2.4 提交补丁2.4.1 配置发送邮箱2.4.2 配置 git-email2.4.3 发送补丁2.4.4 回复邮件3. 邮 阅读全文
posted @ 2025-04-07 14:43
JiMoKuangXiangQu
阅读(104)
评论(0)
推荐(0)
摘要:
目录1. 前言2. 什么尾调用(Tail Call)?3. 尾调用优化4. Linux内核下的尾递归优化使用5. 参考资料 1. 前言 限于作者能力水平,本文可能存在谬误,对此给读者带来的损失,作者不错任何承诺。 2. 什么尾调用(Tail Call)? 如果对函数B的调用是函数A执行的最后一条语句 阅读全文
posted @ 2025-04-07 14:42
JiMoKuangXiangQu
阅读(29)
评论(0)
推荐(0)
摘要:
目录1. 前言2. 测试环境3. 实现3.1 概念3.2 数据结构3.3 对基数树的操作3.3.1 初始化3.3.2 插入3.3.3 查找3.3.4 删除3.3.5 tag 操作3.3.5.1 设置 tag3.3.5.2 清除 tag3.3.5.3 获取 tag 状态4. 使用范例5. Linux 阅读全文
posted @ 2025-04-07 14:41
JiMoKuangXiangQu
阅读(66)
评论(0)
推荐(0)
摘要:
目录1. 前言2. 背景3. 硬件拓扑4. 以太网卡 PHY 驱动实现4.1 MDIO 总线对象的创建和注册4.2 MDIO 总线从设的 创建注册 和 驱动注册的加载4.2.1 以太网的 PHY 设备创建和注册4.2.2 以太网的 PHY 设备驱动注册和加载4.3 绑定以太网卡的 MAC 和 PHY 阅读全文
posted @ 2025-04-07 14:40
JiMoKuangXiangQu
阅读(397)
评论(0)
推荐(0)
摘要:
目录1. 前言2. 背景3. 网卡数据收发流程3.1 网络数据接收流程3.1.1 网卡数据接收流程3.1.2 网卡数据向上传递给L3,L4的流程3.2 网卡数据发送流程4. 番外:嵌入式平台下网卡的典型结构 1. 前言 限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。 阅读全文
posted @ 2025-04-07 14:38
JiMoKuangXiangQu
阅读(40)
评论(0)
推荐(0)
摘要:
目录1. 前言2. 背景3. 进程标准输入、输出的建立过程3.1 系统的启动登录过程3.1.1 getty 启动过程3.1.2 login 登录过程3.2 在 shell 里启动程序的标准输入、输出的建立4. 结语5. 参考资料 1. 前言 限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失 阅读全文
posted @ 2025-04-07 14:38
JiMoKuangXiangQu
阅读(21)
评论(0)
推荐(0)
摘要:
目录1. 前言2. 分析背景3. USB 总线硬件拓扑4. USB 协议栈概览4.1 Linux USB 子系统概览4.2 USB外设(如U盘)固件基础5. Linux USB 子系统初始化6. Linux USB 主机控制器(HCD) 驱动6.1 USB 主机控制器驱动初始化6.2 USB 主机控 阅读全文
posted @ 2025-04-07 14:36
JiMoKuangXiangQu
阅读(156)
评论(0)
推荐(0)
摘要:
目录1. 前言2. 分析背景3. CPU 多核启动流程3.1 支持 PSCI 平台的 CPU 启动流程3.1.1 BOOT CPU 启动流程3.1.2 非 BOOT CPU 启动流程3.2 不支持 PSCI 平台的 CPU 启动流程3.2.1 BOOT CPU 启动流程3.2.2 非 BOOT CP 阅读全文
posted @ 2025-04-07 14:35
JiMoKuangXiangQu
阅读(83)
评论(0)
推荐(0)
摘要:
目录1. 前言2. 分析背景3. 设备节点的创建和移除3.1 通过 devtmpfs 创建移除设备节点3.1.1 devtmpfs 初始化3.1.2 通过 devtmpfs 创建设备节点3.1.2.1 发出设备创建请求3.1.2.2 处理设备创建请求3.1.2.3 通知用户态设备事件监听程序:设备对 阅读全文
posted @ 2025-04-07 14:34
JiMoKuangXiangQu
阅读(50)
评论(0)
推荐(0)
摘要:
目录1. 前言2. 背景3. 什么 是 eBPF?4. eBPF 框架5. eBPF 范例5.1 编译5.1.1 编译环境搭建5.1.1.1 安装 eBPF 程序依赖的内核头文件5.1.1.2 安装 eBPF 程序编译套件5.1.1.3 安装用户程序依赖库5.1.2 编译 eBPF 程序5.1.3 阅读全文
posted @ 2025-04-07 14:33
JiMoKuangXiangQu
阅读(139)
评论(0)
推荐(0)
摘要:
目录1. 前言2. 背景3. ftrace3.1 简介3.2 挂载 ftrace 文件系统3.3 ftrace 文件系统说明3.3.1 current_tracer3.3.2 available_tracers3.3.3 tracing_on3.3.4 trace3.3.5 trace_pipe3. 阅读全文
posted @ 2025-04-07 14:32
JiMoKuangXiangQu
阅读(241)
评论(0)
推荐(0)
摘要:
目录1. 前言2. 性能分析概述3. 性能分析方法论一览3.1 TSA 和 USE3.1.1 TSA3.1.1.1 TSA 概述3.1.1.2 TSA 状态转换3.1.1.3 延迟类状态3.1.1.3 TSA 总结3.1.2 USE3.1.2.1 USE 简介3.1.2.2 低利用率是否意味着没有饱 阅读全文
posted @ 2025-04-07 14:31
JiMoKuangXiangQu
阅读(50)
评论(0)
推荐(0)
摘要:
目录1. 前言2. 概述3. 分析方法概述3.1 CPU 采样 方法3.2 跟踪 方法4. 使用火焰图分析4.1 On-CPU 分析4.2 Off-CPU 分析4.2.1 Off-CPU 两种分析方法对比4.2.2 生成 Off-CPU 火焰图5. 参考资料 1. 前言 限于作者能力水平,本文可能存 阅读全文
posted @ 2025-04-07 14:29
JiMoKuangXiangQu
阅读(113)
评论(0)
推荐(0)
摘要:
目录1. 前言2. 背景3. 内存增长和泄漏分析方法3.1 跟踪 malloc(), free() 等接口3.1.1 用 perf 采样3.1.2 用 ebpf 来跟踪3.2 跟踪 brk() 调用3.2.1 使用 perf 跟踪 brk()3.2.2 使用 ebpf 跟踪 brk()3.3 跟踪 阅读全文
posted @ 2025-04-07 14:29
JiMoKuangXiangQu
阅读(74)
评论(0)
推荐(0)
摘要:
目录1. 前言2. 背景3. 使用内核事件跟踪系统3.1 启用、禁用追踪事件3.2 追踪事件的目录结构3.3 追踪事件数据格式3.4 事件过滤器3.4.1 过滤器表达式语法3.4.2 设置和清除事件过滤器3.4.3 事件过滤器的限制3.4.4 事件子系统(subsystem)过滤器3.4.5 按进程 阅读全文
posted @ 2025-04-07 14:28
JiMoKuangXiangQu
阅读(47)
评论(0)
推荐(0)
摘要:
目录1. 前言2. SPI 总线驱动2.1 SPI 总线拓扑2.2 SPI 总线工作模式2.3 SPI 总线驱动2.3.1 SPI master 模式总线驱动2.3.1 SPI slave 模式总线驱动3. SPI 从设驱动4. SPI 用户空间接口4.1 创建 SPI 总线用户空间字符设备节点4. 阅读全文
posted @ 2025-04-07 14:26
JiMoKuangXiangQu
阅读(185)
评论(0)
推荐(0)
摘要:
目录1. 前言2. 进程间通信机制2.1 管道2.1.1 匿名管道2.1.2 popen() 和 pclose()2.1.3 命名管道 FIFO2.2 消息队列2.3 共享内存2.4 信号量2.5 网络套接字2.6 UNIX套接字2.7 信号3. 参考资料 1. 前言 限于作者能力水平,本文可能存在 阅读全文
posted @ 2025-04-07 14:23
JiMoKuangXiangQu
阅读(33)
评论(0)
推荐(0)
摘要:
目录1. 前言2. 测试环境3. NFS 服务器搭建3.1 安装 NFS 服务3.2 导出 NFS 共享目录3.3 重启 NFS 服务4. 客户端连接 NFS 服务端5. VMware + Ubuntu6. Linux 内核 NFS 支持7. NFS 相关工具 1. 前言 限于作者能力水平,本文可能 阅读全文
posted @ 2025-04-07 14:22
JiMoKuangXiangQu
阅读(52)
评论(0)
推荐(0)

浙公网安备 33010602011771号