Re: Linux 2.4.1 network (socket) performance

From: Richard B. Johnson (
Date: Fri Feb 23 2001 - 10:58:28 EST

The problem with awful socket performance on 2.4.1 has been discovered
and fixed by Manfred Spraul. Here is some info, and his patch:

On Fri, 23 Feb 2001, Manfred Spraul wrote:

> Could you post your results to linux-kernel?
> My mail from this morning wasn't accurate enough, you patched the wrong
> line. Sorry.

Yep. The patch you sent was a little broken. I tried to fix it, but
ended up pathing the wrong line.

> I've attached the 2 patches that should cure your problems.
> patch-new is integrated into the -ac series, and it's a bugfix - simple
> unix socket sends eat into memory reserved for atomic allocs.
> patch-new2 is the other variant, it just deletes the fallback system.

--- linux/net/core/sock.c Fri Dec 29 23:07:24 2000
+++ linux/net/core/ Fri Feb 23 15:02:46 2001
@@ -777,7 +777,7 @@
                                 /* The buffer get won't block, or use the atomic queue.
                                  * It does produce annoying no free page messages still.
- skb = alloc_skb(size, GFP_BUFFER);
+ skb = alloc_skb(size, sk->allocation & (~__GFP_WAIT));
                                 if (skb)
                                 try_size = fallback;

Dick Johnson

Penguin : Linux version 2.4.1 on an i686 machine (799.53 BogoMips).

"Memory is like gasoline. You use it up when you are running. Of
course you get it all back when you reboot..."; Actual explanation
obtained from the Micro$oft help desk.

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

This archive was generated by hypermail 2b29 : Fri Feb 23 2001 - 21:00:30 EST