[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.GSO.2.00.1305212123120.15328@git.silcnet.org>
Date: Tue, 21 May 2013 21:31:51 +0200 (CEST)
From: Pekka Riikonen <priikone@....fi>
To: David Miller <davem@...emloft.net>
cc: eric.dumazet@...il.com, eliezer.tamir@...ux.intel.com,
linux-kernel@...r.kernel.org, netdev@...r.kernel.org,
jesse.brandeburg@...el.com, donald.c.skidmore@...el.com,
e1000-devel@...ts.sourceforge.net, willemb@...gle.com,
andi@...stfloor.org, hpa@...or.com, eliezer@...ir.org.il
Subject: Re: [PATCH v3 net-next 1/4] net: implement support for low latency
socket polling
On Tue, 21 May 2013, David Miller wrote:
> From: Pekka Riikonen <priikone@....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.
>
Yes, true. The napi_index then is probably the way to go. Main thing for
me is that it doesn't increase skb size when in union with dma_cookie (skb
has been growing lately).
Pekka
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists