Messages in this thread | | | Date | Tue, 21 May 2013 11:49:21 -0700 (PDT) | Subject | Re: [PATCH v3 net-next 1/4] net: implement support for low latency socket polling | From | David Miller <> |
| |
From: Pekka Riikonen <priikone@iki.fi> Date: Tue, 21 May 2013 19:02:19 +0200 (CEST)
> 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.
Queue mapping is more volatile, and consider layered devices.
| |