netdev
[Top] [All Lists]

Re: [PATCH] acenic - don't spin in hard_start_xmit when ring fills

To: Stephen Hemminger <shemminger@xxxxxxxx>
Subject: Re: [PATCH] acenic - don't spin in hard_start_xmit when ring fills
From: "David S. Miller" <davem@xxxxxxxxxxxxx>
Date: Thu, 16 Sep 2004 16:50:42 -0700
Cc: jes@xxxxxxxxxxxxxxxxxx, jgarzik@xxxxxxxxx, netdev@xxxxxxxxxxx
In-reply-to: <20040916164206.707204d4@xxxxxxxxxxxxxxxxxxxxx>
References: <20040916161753.37254cbd@xxxxxxxxxxxxxxxxxxxxx> <20040916162250.5b7cfa85.davem@xxxxxxxxxxxxx> <20040916164206.707204d4@xxxxxxxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
On Thu, 16 Sep 2004 16:42:06 -0700
Stephen Hemminger <shemminger@xxxxxxxx> wrote:

> NO, the bus just isn't fast enough to keep up with the number of small
> packets I am shoving at it.
> 
> You got TX_LOCKED and TX_BUSY confused. The problem is drivers that
> don't check to see if the last packet sent fills the ring and stop
> themselves.

I understand.

But that still makes this change buggy.  I believe the two choices
are:

1) Accept this spinning performance characteristic of the
   acenic driver.

or

2) Finally give up on acenic's clever lockless scheme and add
   the necessary locking + start/stop tx flow control so it
   will never have to return TX_BUSY except in absolutely
   catastrophic failure cases.

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