Thread (35 messages) 35 messages, 9 authors, 2008-04-21

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

From: Ingo Molnar <hidden>
Date: 2008-03-31 10:13:05
Also in: lkml

* Eric Dumazet [off-list ref] wrote:
Problem is to check available space :

It depends on stack growing UP or DOWN, and depends on caller running 
on process stack, or softirq stack, or even hardirq stack.
ok - i wish such threads were on lkml so that everyone not just the 
netdev kabal can read it. It's quite ugly, but if we want to check stack 
free space i'd suggest for you to put a stack_can_recurse() call into 
arch/x86/kernel/process.c and offer a default __weak implementation in 
kernel/fork.c that always returns 0.

the rule on x86 should be something like this: on 4K stacks and 64-bit 
[which have irqstacks] free stack space can go as low as 25%. On 8K 
stacks [which doesnt have irqstacks but nests irqs] it should not go 
below 50% before falling back to the explicitly queued packet branch.

this way other pieces of kernel code code can choose between on-stack 
fast recursion and explicit iterators. Although i'm not sure i like the 
whole concept to begin with ...

	Ingo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help