Re: tcp scheduling for ppp?

Andi Kleen (
Sun, 6 Dec 1998 06:50:04 +0100

In muc.lists.linux-kernel, you wrote:
>Is there a way you can do some sort of priority-based tcp scheduling for
>ppp? What I would like to have is ftp/wget running at a low priority, http
>at a higher and telnet at the highest priority, so that if a http packet
>comes down, all ftp connections stall for a while (i guess this stall would,
>in general, be a lot longer than required, but that's okay) and then
>continue. Basically when I'm websurfing, the ftp connections beneath kill
>the speed over my poor 28.8kbps, and if I cut off all of them I feel guilty
>for wasting phone time when I'm reading a page or something.

Linux 2.0 and 2.1 do priority based scheduling per default on all interfaces
(based on the IP type-of-service field). Most applications set that field
fine.That just does not help you much, because for a modem connection the
modem server at the other end has to do the prioritizing (and compressing
modems include a lot of buffering that kills any clever queueing strategies)

One problem with PPP is that the default queue length is a bit too long
to work efficiently with the 3band scheduler used: in 2.0 you can change
it by adding a

dev->tx_queue_len = N; /* N between 4-10; you should experiment */

in to the PPP driver's initialisation function; in 2.1 you can simply
set the parameter on a per device basis with (given recent nettools):

ifconfig device txqueuelen N


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at