On Wed, 20 Apr 2011 15:12:55 +0530 Yogesh Ashok Powar <yogeshp@xxxxxxxxxxx> wrote: > Hello David/Johannes, > > Any thoughts/inputs on this? > > Thanks > Yogesh > On Thu, Apr 14, 2011 at 01:46:45AM -0700, Yogesh Ashok Powar wrote: > > Hello All, > > We have observed significant throughput drop on TX path on > > embedded system when bridging packets from ethernet to wireless side. > > Our drivers on ethernet and wireless are MV643XX and MWL8K, respectively. > > > > We found that mac80211 end up calling ieee80211_skb_resize (from > > net/mac80211/tx.c) for every data packet as the skb_headroom was few > > bytes short than the actual requirement. > > > > We are considering two possible solutions to the problem: > > 1. Use the scheme developed by Johannes and David. > > 2. Address the issue by tuning the required extra tx headroom in the mwl8k > > wireless driver. > > > > The scheme developed by Johannes and David is discussed at the thread started by > > Johannes on "mac80211: assign needed_headroom/tailroom for netdevs". > > > > Can be seen at > > http://kerneltrap.com/mailarchive/linux-netdev/2008/5/4/1719104 > > > > In one of the reply, David Miller has proposed a solution for such cases; please > > see http://lists.openwall.net/netdev/2008/05/05/133 > > > > For completeness I am adding David's patch after few modifications, mainly > > replacing old variables with the updated ones to make compilation error free. > > > > With the patch below and a change in ethernet driver to use netdev_alloc_skb, > > overhead of ieee80211_skb_resize can be avoided on our setup. > > > > We would like to know, why is this patch (or something similar) not upstream? > > Or, are there issues that are difficult to resolve? > > > > Thanks > > Yogesh Powar You are on wrong list for driver questions. This should go to netdev@xxxxxxxxxxxxxxx If you have a closed system (ie no other drivers), then just increasing tx headroom would be simplest. Having too much headroom is harmless. -- -- To unsubscribe from this list: send the line "unsubscribe linux-net" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html