可以在不同的CPU内核上执行同一网络数据包的Hard和Soft-IRQ吗?

时间:2017-07-12 19:59:54

标签: linux networking linux-kernel x86 interrupt

当在Linux x86_64内核3.16上处理网络数据包时,可以在不同的CPU内核上执行相同网络数据包的Hard和Soft-IRQ吗?

这是否意味着:

  • 使用NIC-DMA将以太网适配器(NIC)复制数据包复制到套接字缓冲区(mbuf),然后在CPU Core-N上调用 Hard-IRQ

  • 然后,这个Hard-IRQ的代码只是通过使用RPS调用 Soft-IRQ在不同的CPU Core-M上

  • 在这个CPU Core-M上,Soft-IRQ使用内核空间中的TCP / IP堆栈处理此数据包

  • 然后我们的应用程序使用read(,buf,)从socket-buffer(mbuf)获取数据到 CPU Core-K 上的用户空间中的缓冲区

这是对的吗?

使用RPS时,同一网络数据包的Hard和Soft-IRQ可以在不同的核心上执行吗?

0 个答案:

没有答案