netdev
[Top] [All Lists]

Re: netif_rx packet dumping

To: Lennert Buytenhek <buytenh@xxxxxxxxxxxxxx>
Subject: Re: netif_rx packet dumping
From: John Heffner <jheffner@xxxxxxx>
Date: Thu, 3 Mar 2005 22:10:55 -0500 (EST)
Cc: Stephen Hemminger <shemminger@xxxxxxxx>, baruch@xxxxxxxxx, netdev@xxxxxxxxxxx
In-reply-to: <20050304014227.GB28874@xxxxxxxxxxxxxxxxx>
References: <20050303125556.6850cfe5.davem@xxxxxxxxxxxxx> <1109884688.1090.282.camel@xxxxxxxxxxxxxxxx> <20050303132143.7eef517c@xxxxxxxxxxxxxxxxx> <1109885065.1098.285.camel@xxxxxxxxxxxxxxxx> <20050303133237.5d64578f.davem@xxxxxxxxxxxxx> <20050303135416.0d6e7708@xxxxxxxxxxxxxxxxx> <Pine.LNX.4.58.0503031657300.22311@xxxxxxxxxxxxx> <1109888811.1092.352.camel@xxxxxxxxxxxxxxxx> <20050303151606.3587394f@xxxxxxxxxxxxxxxxx> <Pine.LNX.4.58.0503031818270.22311@xxxxxxxxxxxxx> <20050304014227.GB28874@xxxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
On Fri, 4 Mar 2005, Lennert Buytenhek wrote:

> On Thu, Mar 03, 2005 at 06:48:50PM -0500, John Heffner wrote:
>
> > All these AQM schemes are trying to solve a fundamentally different
> > problem.  With TCP at least, the only congestion experienced at this point
> > will be transient, so you do not want to send any congestion signals (drop
> > packets) if you can avoid it at all.  Making the limit as high as you can
> > tolerate seems like the best thing to me.
>
> If the traffic does not terminate locally (f.e. when doing routing),
> an insanely large queue has more disadvantages than advantages.
>
> If you're routing those exact same TCP packets on the way to their
> final destination, you run the risk of not sending out any congestion
> signals in the cases where you should, making your forwarding latency
> skyrocket (punishing all the other flows) in the process.


Yes.  In "as high as you can tolerate" latency is implicit. :)  This is
just as true whether forwarding or not.  Offhand I'd say 10 ms is a good
number (bursts should be shorter than this, but it's not too much
latency).

The forwarding case where you actually need congestion control, as opposed
to absorbing bursts, is pretty gross.  If you have a router (more likely
firewall) whose bottleneck is the CPU, then you're operating entirely in
you input queue.  Yuck.  In such a situation, if you don't want user
processes to get starved, you need to do throttling => bad for TCP.

  -John

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