[Bloat] Random idea in reaction to all the discussion of TCP flavours - timestamps?

Jonathan Morton chromatix99 at gmail.com
Tue Mar 15 16:12:20 PDT 2011


On 16 Mar, 2011, at 12:52 am, Eric Dumazet wrote:

>> Back and forth synchronization between driver and device is
>> doubleplusungood.  Being able to remove a packet on the tx queue already
>> made known to the NIC sounds like it could become a rathole. If you are
>> lucky, you *might* have a "valid/invalid" bit in a packet descriptor
>> that the driver could hope to set before the NIC had pulled-in a copy
>> across the I/O bus.
> 
> There are two different use cases :
> 
> 1) Wired devices, where we want to push more 10+ Gbps, so we can assume
> a posted skb is transmitted immediately. Even a basic qdisc can be a
> performance bottleneck. Set TX ring size to 256 or 1024+ buffers to
> avoid taking too many interrupts.
> 
> 2) wireless, were typical bandwidth is small enough we can afford a
> qdisc with a trafic shaper, good flow classification, whatever limit on
> "maximum waiting time in qdisc queue or drop it" and a very small queue
> on hardware ?
> 
> In both cases, we dont need to "cancel" a packet post to NIC hardware,
> or we need special hardware support (some NICS already provide hardware
> TX completion times)

Right, it is of course the wireless situation that I'm talking about.  And I am being a bit provocative about it.

Ultimately, we need to be able to back off the transmit rate so hard that the transmit buffer is *empty* half of the time, in the relatively unusual cases where congestion collapse in the airspace has already occurred.  If every node has a packet to transmit, they will carry on trying to get it on the air, and with the noise level already high and the data rate already low, there is no way to recover the network until some radios actually go silent for a while.

The congestion-collapse problem is, I think, not easy to replicate at home.  It commonly occurs at conferences with hundreds of nodes in the room.

> Do the CPUs in handhelds possess that much more "oomph"
> than "regular" systems did when 100BT or 1GbE first appeared?

Typical handhelds now have anything from a 600MHz ARM11 (iPhone 3G) up to dual-core 1GHz+ Cortex-A9s (iPad2, Galaxy Tab).  The latter are roughly equivalent to decent netbook/nettop hardware.  There is typically 512MB RAM in total.

 - Jonathan



More information about the Bloat mailing list