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 +0200quoted
[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.