Thread (28 messages) 28 messages, 6 authors, 2009-05-04

Re: tx queue hashing hot-spots and poor performance (multiq, ixgbe)

From: Eric Dumazet <hidden>
Date: 2009-05-01 16:48:39

David Miller a écrit :
From: Eric Dumazet <redacted>
Date: Fri, 01 May 2009 08:14:03 +0200
quoted
[PATCH] net: skb_tx_hash() improvements

When skb_rx_queue_recorded() is true, we dont want to use jash distribution
as the device driver exactly told us which queue was selected at RX time.
jhash makes a statistical shuffle, but this wont work with 8 static inputs.

Later improvements would be to compute reciprocal value of real_num_tx_queues
to avoid a divide here. But this computation should be done once,
when real_num_tx_queues is set. This needs a separate patch, and a new
field in struct net_device.

Reported-by: Andrew Dickinson <redacted>
Signed-off-by: Eric Dumazet <redacted>
Applied, except that I changed the commit message header line to more
reflect that this is in fact a bug fix.

BTW, you don't need the reciprocol when num-tx-queues <= num-rx-queues
(you can just use the RX queue recording as the hash, straight) and
that's the kind of check what I intended to add to net-2.6 had you not
beaten me to this patch.

Also, thanks for giving me absolutely no credit for this whole thing
in your commit message.  I know I do that to you all the time :-/ How
can you forget so quickly that I'm the one that even suggested the
exact code change for Andrew to test in the first place?
Hoho, your Honor, I am totaly guilty and sorry, sometime I think I am
David Miller, silly me ! :)

I am not fighting for credit or whatever, certainly not with you.

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help