知识卡片
用户态驱动的迭代自由度
内容
把网卡驱动搬到用户态,直接收益不只是省掉内存拷贝和系统调用,还有更深一层:驱动不再受限于内核既有的数据格式与行为定义。内核态驱动必须兼容内核网络子系统的历史约定,用户态驱动却能按性能需要重新设计mbuf头格式、重新优化DMA操作,甚至针对不同场景组合不同优化策略。这种脱离内核约束带来的迭代自由度,某种程度上比省掉的几次拷贝更关键,它让优化空间从”内核允许的范围”扩大到”硬件允许的范围”。
参考来源
《深入浅出DPDK》第1章《认识DPDK》
知识卡片
把网卡驱动搬到用户态,直接收益不只是省掉内存拷贝和系统调用,还有更深一层:驱动不再受限于内核既有的数据格式与行为定义。内核态驱动必须兼容内核网络子系统的历史约定,用户态驱动却能按性能需要重新设计mbuf头格式、重新优化DMA操作,甚至针对不同场景组合不同优化策略。这种脱离内核约束带来的迭代自由度,某种程度上比省掉的几次拷贝更关键,它让优化空间从”内核允许的范围”扩大到”硬件允许的范围”。