firedancer
firedancer copied to clipboard
Handle multiple RX channels per net tile
On i40e (Intel X710 class NICs), the AF_XDP kernel side running in ksoftirqd is considerably more expensive than the userspace fd_xsk code.
fd_xsk can forward at least ~28Mpps from 3 AF_XDP rings to an mcache on one EPYC 7502P core. But the kernel requires about ~3 cores running ksoftirqd to fill the same AF_XDP rings from the network device queues.
Therefore, a 1:1 mapping between tiles and rings is wasteful. And reducing the ring count can lead to performance issues because of insufficient ksoftirqd time.