On 2024-02-15 21:23:23 [+0100], Toke Høiland-Jørgensen wrote: > The tricky part is that the traffic actually has to stress the CPU, > which means that the offered load has to be higher than what the CPU can > handle. Which generally means running on high-speed NICs with small > packets: a modern server CPU has no problem keeping up with a 10G link > even at 64-byte packet size, so a 100G NIC is needed, or the test needs > to be run on a low-powered machine. I have 10G box. I can tell cpufreq to go down to 1.1Ghz and I could reduce the queues to one and hope that it is slow enough. > As a traffic generator, the xdp-trafficgen utility also in xdp-tools can > be used, or the in-kernel pktgen, or something like T-rex or Moongen. > Generally serving UDP traffic with 64-byte packets on a single port > is enough to make sure the traffic is serviced by a single CPU, although > some configuration may be needed to steer IRQs as well. I played with xdp-trafficgen: | # xdp-trafficgen udp eno2 -v | Current rlimit is infinity or 0. Not raising | Kernel supports 5-arg xdp_cpumap_kthread tracepoint | Error in ethtool ioctl: Operation not supported | Got -95 queues for ifname lo | Kernel supports 5-arg xdp_cpumap_kthread tracepoint | Got 94 queues for ifname eno2 | Transmitting on eno2 (ifindex 3) | lo->eno2 0 err/s 0 xmit/s | lo->eno2 0 err/s 0 xmit/s | lo->eno2 0 err/s 0 xmit/s I even tried set the MAC address with -M/ -m but nothing happens. I see and on drop side something happening when I issue a ping command. Does something ring a bell? Otherwise I try the pktgen. This is a Debian kernel (just to ensure I didn't break something or forgot a config switch). > -Toke Sebastian