Subject: Re: [PATCH] net: Disable queueing when carrier is lost

From: Tommy Christensen <[email-masked]>
Date: Sat, 30 Apr 2005 14:59:54 +0200

Herbert Xu wrote:
> What if we take a more direct approach and just drop the packets before
> it hits hard_start_xmit? This also makes it easy for the drivers to do
> TX ring flushing if it's necessary since we're guaranteeing (for drivers
> that are not lockless anyway) that once carrier goes off while the xmit
> lock is held hard_start_xmit will not be called again.

Something like this has been considered already. It's simple and obvious,
but has it's drawbacks as well:

  - it adds a slight overhead to the TX path (some people are rather
    sensitive about this)
  - it impacts all sorts of drivers, including those that don't need fixing
  - it doesn't work as intended! qdisc_run checks for queue_stopped before
    calling qdisc_restart

-Tommy