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

From: Ingo Molnar
Date: Mon Mar 31 2008 - 05:48:47 EST



* Eric Dumazet <dada1@xxxxxxxxxxxxx> 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@xxxxxxx>
Date: Mon Mar 31 11:23:21 CEST 2008

Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
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;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/