- 博客(6)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 numa node效应对网卡的影响以及解决方式
NUMA的诞生是为了解决SMP架构下不断增多的CPU Core导致的性能问题,NUMA调整了CPU和内存的布局和访问关系。将CPU划分到多个Node节点上,每个Node都有自己独立的内存空间。各个node之间通过高速互联通讯。CPU访问不同类型节点的内存是不相同的,访问本地节点的速度最快,访问远端节点的速度最慢,即访问速度与节点的距离有关,距离越远访问速度越慢,即非一致。
2024-08-14 21:20:33
1605
原创 napi机制、软中断以及中断聚合
上文说到网卡一般通过PCIe总线与系统相连,PCIe总线一般使用msi和msix中断进行通知。中断机制可以让CPU对外部事件作出及时的响应,但是当网卡处于大量收发包的状态中,会不断触发中断,这会导致系统只顾得上响应中断,而无法做其他事。面对上述情景,可以在中断函数中处理非常紧急的事,而不紧急的事就交给中断下半部来做,这也是中断下半部出现的原因。
2024-08-03 23:22:23
1200
原创 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
3541
原创 网卡XDP驱动研究以及验证
XDP全程eXpress Data Path,即快速数据路径,XDP是linux网络处理流程中的一个ebpf钩子,能够挂载eBPF程序,它能够在网络数据包到达网卡驱动层时对其进行处理,打通linux网络处理的高速公路。其核心思想是在数据包到达网络驱动之前或者之中,在内核空间对网络数据包进行处理,以便快速处理数据包并决定其进一步的处理路径。
2024-07-27 17:14:33
2154
原创 网卡驱动架构以及源码分析
由于工作很忙,一直没有时间静下心来好好整理文档。文档的功夫不仅反映了一个人对相关知识的掌握,也可以发现不足之处,从而提高自己,增加自己的内功。希望从这篇开始,日积月累,成为一个优秀的程序员。本文的stmmac驱动以linux内核5.15为参考。stmmac驱动用于支持 synopsys ip的系列网卡芯片,包括xgmac,以及gmac。xgmac对应的是10G网卡芯片,gmac对应的则是千兆网卡芯片。我将从三个方面进行网卡驱动的分析,分别是网卡驱动架构,link方式,以及收发包流程。
2024-07-25 17:54:19
4551
2
判断素数的c语言,程序能通过,但没结果,求帮忙
2016-07-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人