Re: [RFC,PATCH] loopback: calls netif_receive_skb() instead of netif_rx()

Ingo Molnar
2008-03-31T09:48:44Z

* Eric Dumazet <dada1@cosmosbay.com> wrote:

> I noticed some paths in kernel are very stack aggressive, and on i386
> with CONFIG_4KSTACKS we were really in a dangerous land, even without
> my patch.
>
> What we call 4K stacks is in fact 4K - sizeof(struct task_struct), so
> a litle bit more than 2K. [...]

that's just wrong - 4K stacks on x86 are 4K-sizeof(thread_info) - the
task struct is allocated elsewhere. The patch below runs just fine on
4K-stack x86.

Ingo

------------->
Subject: net: loopback speedup
From: Ingo Molnar <mingo@elte.hu>
Date: Mon Mar 31 11:23:21 CEST 2008

Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
drivers/net/loopback.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux/drivers/net/loopback.c
===================================================================
--- linux.orig/drivers/net/loopback.c
+++ linux/drivers/net/loopback.c
@@ -158,7 +158,7 @@ static int loopback_xmit(struct sk_buff
lb_stats->bytes += skb->len;
lb_stats->packets++;

- netif_rx(skb);
+ netif_receive_skb(skb);

return 0;
}