How many maximum different processor cores can be used to process a single IP packet?

For example, we have 1 processor with 8 cores. How many maximum different processor cores can be used to process one IP packet when going Eth0-> TCP / IP-> App (exclude processing in the application)?

For example, can it be 3 CPU cores:

  • Hardware interruption
  • Process Checksum Calculation
  • Process copy kernel-space -> user-space (whose pointer is sent to the socket)

This is very important for performance, as each transfer of data between the cores is very expensive.

+7
c linux-kernel sockets tcp linux-device-driver
source share
1 answer

Generally speaking, you will handle interruption on one core, there is a chance that the actual operation of the kernel associated with its processing will happen on another core and, finally, will transfer it to the application running on the third core. On some operating systems, you can set the affinity for the process, as well as the affinity of the interrupt handler, so as not to bounce your data.

+3
source share

All Articles