netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* myri10ge conversion to non-contiguous skb
@ 2006-08-24 22:26 Brice Goglin
  2006-08-28  6:36 ` Jesse Brandeburg
  0 siblings, 1 reply; 3+ messages in thread
From: Brice Goglin @ 2006-08-24 22:26 UTC (permalink / raw)
  To: netdev

Hi,

During the submission of the myri10ge driver, some people raised the
question of using pages (or any kind of non-contiguous skb) instead of
our current 16kB contiguous skb. We are looking at this right now and it
is not clear what solution is the best. From what we understand, Linux
provides two mostly redundant mechanisms to handle discontinuous skb,
the skb->frags and the skb->frag_list, s2io using the latter while e1000
uses the former. Is one or the other recommended? What is the purpose of
having them both in the net core?

Thank you
Brice Goglin

>>> Imho you will want to work directly with pages shortly.  
>>>       
>> We had thought about doing this, but were a little nervous since we did
>> not know of any other drivers that worked directly with pages.  If this
>> is an official direction to work directly with pages, we will. 
>>     
> s2io does. e1000 does it with skb frags.
> If your hardware allows header split and driver can put headers into
> skb->data and real data into frag_list, that allows to create various
> interesting things like receiving zero-copy support and netchannels
> support. It is work in progress, not official direction currently,
> but this definitely will help your driver to support future high 
> performance extensions.
>   

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: myri10ge conversion to non-contiguous skb
  2006-08-24 22:26 myri10ge conversion to non-contiguous skb Brice Goglin
@ 2006-08-28  6:36 ` Jesse Brandeburg
  2006-08-29  4:41   ` Brice Goglin
  0 siblings, 1 reply; 3+ messages in thread
From: Jesse Brandeburg @ 2006-08-28  6:36 UTC (permalink / raw)
  To: Brice Goglin; +Cc: netdev

On 8/24/06, Brice Goglin <brice@myri.com> wrote:
> During the submission of the myri10ge driver, some people raised the
> question of using pages (or any kind of non-contiguous skb) instead of
> our current 16kB contiguous skb. We are looking at this right now and it
> is not clear what solution is the best. From what we understand, Linux
> provides two mostly redundant mechanisms to handle discontinuous skb,
> the skb->frags and the skb->frag_list, s2io using the latter while e1000
> uses the former. Is one or the other recommended? What is the purpose of
> having them both in the net core?

you really only have one option, to use PAGE_SIZE pages and frags[]
w/nr_frags.  e1000 tried the frag_list option but that is used by ip
reassembly and badly conflicts with driver generated frag_list.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: myri10ge conversion to non-contiguous skb
  2006-08-28  6:36 ` Jesse Brandeburg
@ 2006-08-29  4:41   ` Brice Goglin
  0 siblings, 0 replies; 3+ messages in thread
From: Brice Goglin @ 2006-08-29  4:41 UTC (permalink / raw)
  To: Jesse Brandeburg; +Cc: netdev

Jesse Brandeburg wrote:
> On 8/24/06, Brice Goglin <brice@myri.com> wrote:
>> During the submission of the myri10ge driver, some people raised the
>> question of using pages (or any kind of non-contiguous skb) instead of
>> our current 16kB contiguous skb. We are looking at this right now and it
>> is not clear what solution is the best. From what we understand, Linux
>> provides two mostly redundant mechanisms to handle discontinuous skb,
>> the skb->frags and the skb->frag_list, s2io using the latter while e1000
>> uses the former. Is one or the other recommended? What is the purpose of
>> having them both in the net core?
>
> you really only have one option, to use PAGE_SIZE pages and frags[]
> w/nr_frags.  e1000 tried the frag_list option but that is used by ip
> reassembly and badly conflicts with driver generated frag_list.

Ok, thanks for the clarification, we'll use frags then.

Is s2io going to be converted from frag_list to frags then?

Brice



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-08-29  4:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-24 22:26 myri10ge conversion to non-contiguous skb Brice Goglin
2006-08-28  6:36 ` Jesse Brandeburg
2006-08-29  4:41   ` Brice Goglin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).