Subject: Re: [PATCH] NET: Multiqueue network device support.

From: jamal <[email-masked]>
Date: Tue, 26 Jun 2007 09:27:28 -0400

On Mon, 2007-25-06 at 13:47 -0700, David Miller wrote:

> tg3 uses 1/4:
> 
> #define TG3_TX_WAKEUP_THRESH(tp)		((tp)->tx_pending / 4)
> 

Sorry - meant tg3 uses a much higher value (default is 128) - say
relative to e1000 (default of 32).
My tests with batching on e1000 indicate 128 gives the best results
which is 1/2 if you look at it from tx ring size perspective. So i have
hardcoded it in the git tree.

> tp->tx_pending is the current configured ring size, configurable
> via ethtool.

Thats what e1000 needs as well - currently it hardcodes things.
I think ethtool is the way to go - I will update the batch tree with
that fix for e1000.
Back to the question: Do you recall how this number was arrived at? 
128 packets will be sent out at GiGe in about 80 microsecs, so from a
feel-the-wind-direction perspective it seems reasonable.

cheers,
jamal