首页
›
Linux内核与驱动
›
160-内核驱动开发
›
《网络内核驱动开发:NAPI与sk_buff数据路径优化》
VIP10
本课程属于:160-内核驱动开发
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
网络内核驱动开发:NAPI与sk_buff数据路径优化
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
网络子系统概览
Linux网络协议栈分层架构 · 数据包从网卡到应用层的宏观路径
网络子系统概览
Linux
02
NAPI机制原理
NAPI的诞生背景(解决高负载下中断… · 轮询与中断结合的工作模式
NAPI
机制原理
03
NAPI核心数据结构
struct napi_struct… · poll_list · poll
NAPI
核心数据结构
04
NAPI的注册与初始化
netif_napi_add() 函… · napi_enable() 的调用时…
NAPI
的注册
05
NAPI调度流程
中断触发 -> napi_sched…
NAPI
调度流程
06
NAPI轮询机制
poll() 回调函数的实现规范 · budget与work_done的协…
NAPI
轮询机制
07
NAPI的完成与重新调度
napi_complete() 与… · __napi_schedule()…
NAPI
的完成
08
NAPI的GRO(通用接收卸载)集成
gro_receive 与 gro_…
NAPI
GRO
09
NAPI的RPS(接收包 steering)与RFS(接收流 steering)
多队列场景下的NAPI与CPU亲和性
NAPI
RPS
10
NAPI的调试与性能调优
通过 /proc/net/softn… · 调整weight参数
NAPI
的调试
11
sk_buff结构体深度解析(上)
sk_buff 的线性数据区(hea…
sk
buff
12
sk_buff结构体深度解析(下)
sk_buff 的控制字段(dev/…
sk
buff
13
sk_buff的分配与释放
alloc_skb() · dev_alloc_skb() · kfree_skb()
sk
buff
14
sk_buff的克隆与拷贝
skb_clone() 与 pskb… · 共享数据与写时复制(COW)机制
sk
buff
15
sk_buff的头部操作
skb_push() · skb_pull() · skb_put()
sk
buff
16
sk_buff的线性化与非线性化
skb_linearize() 的作… · 非线性skb在NAPI中的处理挑战
sk
buff
17
sk_buff的协议封装与解封装
eth_type_trans() · __skb_pull() 在以太网头…
sk
buff
18
sk_buff的校验和卸载
CHECKSUM_NONE · CHECKSUM_UNNECESSA… · CHECKSUM_COMPLETE
sk
buff
19
sk_buff的分片与重组
ip_fragment() 与 ip… · GSO/TSO与skb分片的关系
sk
buff
20
sk_buff的队列管理
qdisc层与skb的交互 · __skb_queue_head()…
sk
buff
21
NAPI与sk_buff的协同
在poll()中如何高效分配 · 处理 · 提交skb到协议栈
NAPI
sk
22
零拷贝技术
PAGE_SIZE对齐 · skb_shinfo(skb)->f… · 避免skb_copy
零拷贝技术
PAGE
23
数据路径优化之预分配
在驱动初始化时预分配skb池 · 使用kmem_cache_creat…
数据路径优化之预…
skb
24
数据路径优化之批量处理
NAPI的gro_list批量合并 · bulk enqueue 减少锁竞争
数据路径优化之批…
NAPI
25
数据路径优化之缓存友好
skb的cacheline对齐 · prefetch() 预取数据 · 减少cache miss
数据路径优化之缓…
skb
26
数据路径优化之锁优化
使用 per-NAPI 锁替代全局锁 · RCU在skb路径中的应用
数据路径优化之锁…
per-NAPI
27
数据路径优化之硬件卸载
LRO/GRO/TSO/GSO 在驱…
数据路径优化之硬…
LRO/GRO/TSO/…
28
数据路径优化之XDP集成
XDP在NAPI poll()中的h… · xdp_buff与skb的转换
XDP
数据路径优化之
29
实战案例
编写一个简单的NAPI驱动(虚拟网卡… · 实现skb的接收与发送
实战案例
NAPI
30
性能测试与剖析
使用perf · ftrace · bpftrace 分析NAPI与sk…
性能测试
剖析
所属VIP或分类
同VIP:Linux设备树开发与pinctrl驱动适配
同VIP:SPI内核驱动开发:消息队列与DMA传输整合
同VIP:USB内核驱动开发:urb与端点通信机制解析