net socket load balancing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi!

Occasionally I'm a masochist: Recently I configured PPP dialup over a 2400 baud 
modem. That modem has some big advantages: It has separate LEDs for about any 
MODEM state (like Rx and Tx). The device being connected to had a web interface 
and SSH.

While the web interface was loading a Java applet over https for minutes, I 
decided to login in via SSH instead.

Looking at the modem's LEDs I could see that the modem was receiving many long 
chunks, while transmitting infrequent short chunks (packet ACKs) periodically. 
However the "ssh -v" stalled during key exchange: The device (SSH server) could 
not send the data in the socket buffer (for over a minute) before the SSH client 
timed out key exchange.

That (and a periodic netstat on the server box) gave me the impression that the 
kernel code does not do fair bandwidth sharing between sockets sending to one 
specific device (those few bytes in the send queue of the SSH socket just stayed 
there). It seems the send queue for one socket is completely flushed before 
another socket is considered, regardless of the MTU. While on fast devices this is 
hardly ever a problem, it can be for slow devices.

I just wanted to point out that problem, together with a cheap method to 
demonstrate.

For reference, the embedded device has a 48MHz PPC with Linux 2.6.11, and the 
client was Novell/SuSE Linux 10.0 with Linux 2.6.13.

Regards,
Ulrich
(renowned for not being subscribed to lkml, always asking for a CC:)

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux