
网卡驱动
文章平均质量分 92
网卡驱动相关知识整理
羽思
这个作者很懒,什么都没留下…
展开
-
numa node效应对网卡的影响以及解决方式
NUMA的诞生是为了解决SMP架构下不断增多的CPU Core导致的性能问题,NUMA调整了CPU和内存的布局和访问关系。将CPU划分到多个Node节点上,每个Node都有自己独立的内存空间。各个node之间通过高速互联通讯。CPU访问不同类型节点的内存是不相同的,访问本地节点的速度最快,访问远端节点的速度最慢,即访问速度与节点的距离有关,距离越远访问速度越慢,即非一致。原创 2024-08-14 21:20:33 · 1677 阅读 · 0 评论 -
napi机制、软中断以及中断聚合
上文说到网卡一般通过PCIe总线与系统相连,PCIe总线一般使用msi和msix中断进行通知。中断机制可以让CPU对外部事件作出及时的响应,但是当网卡处于大量收发包的状态中,会不断触发中断,这会导致系统只顾得上响应中断,而无法做其他事。面对上述情景,可以在中断函数中处理非常紧急的事,而不紧急的事就交给中断下半部来做,这也是中断下半部出现的原因。原创 2024-08-03 23:22:23 · 1282 阅读 · 0 评论 -
MSI和MSIX中断详解以及驱动分析
当前数据中心服务器,内存,显卡,网卡等设备均通过PCIe总线与CPU相连,而PCIe设备使用的最多的就是MSI和MSI-X中断。MSI中断是通过在内存写入信息来触发的一种消息中断类型,其中内存地址由硬件设备和系统协商决定。而MSI-X中断是在MSI中断的基础上扩展的一种消息类型,主要目的是解决MSI中断存在的一些限制。两者区别如下类型MSIMSI-X中断数322048中断号必须连续可以任意分配中断信息存放于capbility寄存器MSIX-table,存放BAR空间。原创 2024-07-28 16:08:50 · 3720 阅读 · 0 评论 -
网卡XDP驱动研究以及验证
XDP全程eXpress Data Path,即快速数据路径,XDP是linux网络处理流程中的一个ebpf钩子,能够挂载eBPF程序,它能够在网络数据包到达网卡驱动层时对其进行处理,打通linux网络处理的高速公路。其核心思想是在数据包到达网络驱动之前或者之中,在内核空间对网络数据包进行处理,以便快速处理数据包并决定其进一步的处理路径。原创 2024-07-27 17:14:33 · 2259 阅读 · 0 评论 -
网卡驱动架构以及源码分析
由于工作很忙,一直没有时间静下心来好好整理文档。文档的功夫不仅反映了一个人对相关知识的掌握,也可以发现不足之处,从而提高自己,增加自己的内功。希望从这篇开始,日积月累,成为一个优秀的程序员。本文的stmmac驱动以linux内核5.15为参考。stmmac驱动用于支持 synopsys ip的系列网卡芯片,包括xgmac,以及gmac。xgmac对应的是10G网卡芯片,gmac对应的则是千兆网卡芯片。我将从三个方面进行网卡驱动的分析,分别是网卡驱动架构,link方式,以及收发包流程。原创 2024-07-25 17:54:19 · 4653 阅读 · 1 评论