On Tue, 21 May 2013, Eric Dumazet wrote: : > > Alternatively, use a napi_id instead of a pointer. : > : > I'm not sure I understand what you propose. : : Oh well. : : To get a pointer to a struct net_device, we can use ifindex, and do a : rcu lookup into a hash table to get the net_device. We do not need : {pointer,ifindex} but {ifindex} is enough : : My suggestion is to not have skb->skb_ref but skb->napi_index : Its safe : to copy its value from skb->napi_index to sk->napi_index without : refcounting. : : All NAPI need to get a unique napi_index, and be inserted in a hash : table for immediate/fast lookup. : Maybe even that's not needed. Couldn't skb->queue_mapping give the correct NAPI instance in multiqueue nics? The NAPI instance could be made easily available from skb->dev. In any case an index is much better than a new pointer.
Pekka ------------------------------------------------------------------------------ Try New Relic Now & We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, & servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may _______________________________________________ E1000-devel mailing list E1000-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired