Re: ixgbe question
From: Jesper Dangaard Brouer <hidden>
Date: 2009-11-23 14:10:21
On Mon, 23 Nov 2009, Eric Dumazet wrote:
I tried a pktgen stress on 82599EB card and could not split RX load on multiple cpus. Setup is : One 82599 card with fiber0 looped to fiber1, 10Gb link mode. machine is a HPDL380 G6 with dual quadcore E5530 @2.4GHz (16 logical cpus) I use one pktgen thread sending to fiber0 one many dst IP, and checked that fiber1 was using many RX queues :
How is your smp_affinity mask's set? grep . /proc/irq/*/fiber1-*/../smp_affinity
But only one CPU (CPU1) had a softirq running, 100%, and many frames were dropped
Just a hint, I use 'ethtool -S fiber1' to see how the packets gets distributed across the rx and tx queues.
CLONE_SKB="clone_skb 15"
Be careful with to high clone, as my experience is it will send a burst of clone_skb packets before the packet gets randomized again.
pgset "dst_min 192.168.0.2" pgset "dst_max 192.168.0.250" pgset "src_min 192.168.0.1" pgset "src_max 192.168.0.1" pgset "dst_mac 00:1b:21:4a:fe:55"
To get a packets randomized across RX queues, I used:
echo "- Random UDP source port min:$min - max:$max"
pgset "flag UDPSRC_RND"
pgset "udp_src_min $min"
pgset "udp_src_max $max"
Ahh.. I think you are missing:
pgset "flag IPDST_RND"
Cheers,
Jesper Brouer
--
-------------------------------------------------------------------
MSc. Master of Computer Science
Dept. of Computer Science, University of Copenhagen
Author of http://www.adsl-optimizer.dk
-------------------------------------------------------------------