Re: [PATCH v3 net-next 1/4] net: implement support for low latencysocket polling

From: David Miller
Date: Tue May 21 2013 - 14:49:27 EST


From: Pekka Riikonen <priikone@xxxxxx>
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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/