David S. Miller
2007-Apr-18 12:36 UTC
[Bridge] Re: [PATCH] (6/6) bridge: receive path optimization
From: Stephen Hemminger <shemminger@osdl.org> Date: Thu, 26 May 2005 11:04:25 -0700> This improves the bridge local receive path by avoiding going > through another softirq. The bridge receive path is already being called > from a netif_receive_skb() there is no point in going through another > receiveq round trip. > > Recursion is limited because bridge can never be a port of a bridge > so handle_bridge() always returns.I applied all 6 patches, but this one in particular I'd like to comment on. Remember all of those bridge netfilter stack usage issues we have a few months ago? This could edge us back into those problems again.
Stephen Hemminger
2007-Apr-18 12:36 UTC
[Bridge] [PATCH] (6/6) bridge: receive path optimization
This improves the bridge local receive path by avoiding going through another softirq. The bridge receive path is already being called from a netif_receive_skb() there is no point in going through another receiveq round trip. Recursion is limited because bridge can never be a port of a bridge so handle_bridge() always returns. Index: bridge/net/bridge/br_input.c ==================================================================--- bridge.orig/net/bridge/br_input.c +++ bridge/net/bridge/br_input.c @@ -26,7 +26,7 @@ static int br_pass_frame_up_finish(struc #ifdef CONFIG_NETFILTER_DEBUG skb->nf_debug = 0; #endif - netif_rx(skb); + netif_receive_skb(skb); return 0; }