我一直在阅读Linux的性能调优,以便在接收金融市场数据时获得最快的数据包处理时间。我看到,当网卡接收到一个数据包时,它会通过DMA将其放入内存中,然后引发一个HardIRQ --这反过来会设置一些NAPI设置并引发一个SoftIRQ。然后,SoftIRQ使用NAPI/设备驱动程序通过轮询从RX缓冲区读取数据,但这只运行一段有限的时间(net.core.netdev_budget,默认为300个数据包)。这些是指运行ubuntu的真正服务器,其中有一个太阳光NIC,我的问题如下:
如果每个HardIRQ引发一个SoftIRQ,而设备驱动程序在1 go (netdev_budget)中读取多个数