[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1325492282.2526.32.camel@edumazet-laptop>
Date: Mon, 02 Jan 2012 09:18:02 +0100
From: Eric Dumazet <eric.dumazet@...il.com>
To: Herbert Xu <herbert@...dor.apana.org.au>
Cc: David Ward <david.ward@...mit.edu>, netdev@...r.kernel.org
Subject: Re: [PATCH net-next] xfrm: Call IP receive handler directly for
inbound tunnel-mode packets
Le lundi 02 janvier 2012 à 18:28 +1100, Herbert Xu a écrit :
> You can't do this as this may cause stack overruns if we nest
> too deeply.
>
I was considering adding a generic helper, for tunneling,
taking into account the depth for current packet.
[ calling netif_receive_skb() instead of netif_rx(), to solve the OOO
problem occurring on SMP when interrupts are spreaded on several cpus ]
We could use the delta between skb->data and skb->head as an estimation
of this depth, in order not adding a new skb field ?
#define DEPTH_THRESHOLD (NET_SKB_PAD + 64)
static inline void netif_reinject(struct sk_buff *skb)
{
if (skb->data - skb->head < DEPTH_THRESHOLD)
netif_receive_skb(skb);
else
netif_rx(skb);
}
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists