首页
›
Linux内核与驱动
›
196-Linux内核深入解析
›
《Linux内核网络栈:从NAPI收包到协议分发的性能优化》
VIP10
本课程属于:196-Linux内核深入解析
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Linux内核网络栈:从NAPI收包到协议分发的性能优化
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
NAPI机制概述
NAPI的诞生背景 · 与传统中断收包的区别 · NAPI的核心设计思想(轮询与中断结…
NAPI
机制概述
02
NAPI数据结构
struct napi_struct… · poll函数指针 · 状态标志位(NAPI_STATE_S…
NAPI
数据结构
03
NAPI的注册与初始化
netif_napi_add()函数… · napi_enable()与napi…
NAPI
的注册
04
中断处理与NAPI调度
网卡中断处理函数如何调用napi_s… · __napi_schedule()的…
NAPI
断处理
05
NAPI轮询循环
napi_poll()的执行流程 · budget与weight的协同机制 · poll函数的返回值语义
NAPI
轮询循环
06
NAPI的GRO(Generic Receive Offload)基础
GRO的设计目标 · 与LRO的区别 · GRO在NAPI中的位置
NAPI
GRO
07
GRO关键数据结构
struct napi_gro_cb · struct sk_buff中的gr… · gro_list的管理
GRO
关键数据结构
08
GRO合并流程
dev_gro_receive()函… · 如何判断是否可以合并 · 合并操作的原子性
GRO
合并流程
09
GRO完成与提交
napi_gro_complete(… · gro_result枚举 · flush与normal路径
GRO
完成
10
NAPI的RPS(Receive Packet Steering)机制
RPS的目标 · rps_map与rps_sock_f…
NAPI
RPS
11
RPS分发逻辑
get_rps_cpu()函数 · 如何根据哈希选择目标CPU · enqueue_to_backlog…
RPS
分发逻辑
12
NAPI的RFS(Receive Flow Steering)机制
RFS对RPS的增强 · 流局部性原理 · rps_dev_flow_table
NAPI
RFS
13
XDP(eXpress Data Path)在NAPI中的集成
XDP的hook点 · xdp_rxq_info结构 · NAPI中调用bpf_prog_ru…
XDP
eXpress
14
NAPI与中断节流(Interrupt Coalescing)
硬件中断合并与NAPI软件轮询的配合 · 自适应中断节流
NAPI
Interrupt
15
NAPI的CPU亲和性与负载均衡
中断亲和性设置 · irqbalance与NAPI的交互 · 多队列网卡的RSS
NAPI
CPU
16
协议分发入口
__netif_receive_sk… · ptype_all与ptype_ba…
协议分发入口
netif
17
协议类型匹配与分发
dev_trim()与eth_typ… · 根据协议号查找ptype_base · 调用packet_type的func
协议类型匹配
分发
18
桥接与虚拟网络设备
br_handle_frame_ho… · OVS的收包路径 · tun/tap设备的NAPI集成
桥接
虚拟网络设备
19
IP层入口
ip_rcv()函数流程 · IP头部校验 · netfilter钩子(NF_INE…
IP
层入口
20
IP层路由查找
ip_route_input_nor… · 路由缓存与FIB表 · dst_entry的缓存与引用计数优…
IP
层路由查找
21
IP分片重组
ip_defrag()函数 · 分片队列管理 · netfilter分片重组模块
IP
分片重组
22
TCP层入口
tcp_v4_rcv()函数流程 · TCP连接查找(__inet_loo… · socket的backlog机制
TCP
层入口
23
TCP接收路径性能优化
tcp_collapse()与接收缓… · tcp_prune_queue() · 零拷贝接收
TCP
接收路径性能优化
24
UDP层入口
udp_rcv()函数流程 · UDP哈希表查找(udp4_lib_… · GRO对UDP的支持
UDP
层入口
25
Socket层分发
sock_queue_rcv_skb… · sk_backlog与sk_rece… · wake_up_interrupti…
Socket
层分发
26
NAPI与内存分配优化
页分配器(page_frag_cac… · skb复用(build_skb()) · DMA一致性映射
NAPI
内存分配优化
27
NAPI的锁与并发控制
napi_lock · GRO锁 · RPS锁
NAPI
的锁
28
NAPI性能调优实践
调整weight/budget · 启用GRO/GSO · RPS/RFS配置
NAPI
性能调优实践
29
NAPI与DPDK的对比
中断驱动与轮询模式 · 零拷贝 · 用户态驱动
NAPI
DPDK
30
NAPI未来演进
多队列深度优化 · AF_XDP与NAPI的结合 · eBPF在NAPI中的新应用
NAPI
未来演进
所属VIP或分类
同VIP:eBPF与kprobe:内核函数动态追踪与性能诊断实战
同VIP:Linux内核中断管理:中断绑核与RPS-RFS网络加速
同VIP:Linux内核模块编程:字符设备驱动与ioctl接口实现