net_device: limit rate ot tx packets

michi1 at michaelblizek.twilightparadox.com michi1 at michaelblizek.twilightparadox.com
Sun Apr 14 04:09:54 EDT 2013


Hi!

On 03:45 Sun 14 Apr     , Valdis.Kletnieks at vt.edu wrote:
> On Sun, 14 Apr 2013 08:15:21 +0200, michi1 at michaelblizek.twilightparadox.com said:
> 
> > It would be interesting to see what will happen if the qdisc is smaller than
> > the socket memory...
> 
> As long as the qdisc is able to send at least one MSS at a time, it will eventually
> clear out the backlog (assuming more isn't added in the meantime).  This of
> course requires you to be using a well-behaved qdisc.
> 
> But if you're using a broken one, any resulting issues are arguably self-inflicted.

This is not what I meant. When the qdisc has a size of say 256KB and the
socket memory is, say 128kb, the socket memory limit will be reached before
the qdisc limit and the socket will sleep. But when the socket memory limit
is greater than the qdisc limit, it will be interesting whether the socket
still sleeps or starts dropping packets.

man send:
       ENOBUFS
              The  output queue for a network interface was full.  This generally indicates that the interface has stopped sending, but may
              be caused by transient congestion.  (Normally, this does not occur in Linux.  Packets are just silently dropped when a device
              queue overflows.)


Long live the principle of least surprise...

	-Michi
-- 
programing a layer 3+4 network protocol for mesh networks
see http://michaelblizek.twilightparadox.com



More information about the Kernelnewbies mailing list