[Top] [All Lists]

Re: [e1000 2.6 10/11] TxDescriptors -> 1024 default

To: hadi@xxxxxxxxxx
Subject: Re: [e1000 2.6 10/11] TxDescriptors -> 1024 default
From: "David S. Miller" <davem@xxxxxxxxxx>
Date: Fri, 12 Sep 2003 20:49:47 -0700
Cc: greearb@xxxxxxxxxxxxxxx, jgarzik@xxxxxxxxx, scott.feldman@xxxxxxxxx, netdev@xxxxxxxxxxx, ricardoz@xxxxxxxxxx
In-reply-to: <1063330463.1028.8.camel@xxxxxxxxxxxxxxxx>
References: <Pine.LNX.4.44.0309081953510.1261-100000@xxxxxxxxxxxxxxxxxxxxx> <3F60CA6D.9090503@xxxxxxxxx> <3F60D0F3.8080006@xxxxxxxxxxxxxxx> <20030911131219.0ab8dfdd.davem@xxxxxxxxxx> <3F60DDCC.5020906@xxxxxxxxxxxxxxx> <20030911140746.4f0384a1.davem@xxxxxxxxxx> <3F60E947.4090005@xxxxxxxxxxxxxxx> <20030911142906.74d9dfe5.davem@xxxxxxxxxx> <3F60F3F7.6090203@xxxxxxxxxxxxxxx> <20030911160252.6cd6c07d.davem@xxxxxxxxxx> <3F6103BB.5030706@xxxxxxxxxxxxxxx> <1063330463.1028.8.camel@xxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
On 11 Sep 2003 21:34:23 -0400
jamal <hadi@xxxxxxxxxx> wrote:

> dont increase the tx descriptor ring size - that would truly wasting
> memory; 256 is pretty adequate.
> * increase instead the txquelen (as suggested by Davem); user space
> tools like ip or ifconfig could do it. The standard size has been around
> 100 for 100Mbps; i suppose it is fair to say that Gige can move data out
> at 10x that; so set it to 1000. Maybe you can do this from the driver
> based on what negotiated speed is detected?

I spoke with Alexey once about this, actually tx_queue_len can
be arbitrarily large but it should be reasonable nonetheless.

Our preliminary conclusions were that values of 1000 for 100Mbit and
faster were probably appropriate.  Maybe something larger for 1Gbit,
who knows.

We also determined that the only connection between TX descriptor
ring size and dev->tx_queue_len was that the latter should be large
enough to handle, at a minimum, the amount of pending TX descriptor
ACKs that can be pending considering mitigation et al.

So if TX irq mitigation can defer up to N TX descriptor completions
then dev->tx_queue_len must be at least that large.

Back to the main topic, maybe we should set dev->tx_queue_len to
1000 by default for all ethernet devices.

<Prev in Thread] Current Thread [Next in Thread>