[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20080522064058.GB7777@2ka.mipt.ru>
Date: Thu, 22 May 2008 10:40:58 +0400
From: Evgeniy Polyakov <johnpol@....mipt.ru>
To: Keyur Chudgar <kchudgar.linux@...il.com>
Cc: netdev@...r.kernel.org
Subject: Re: Single packet receiving in multiple ring buffers
Hi.
On Wed, May 21, 2008 at 06:35:18PM -0700, Keyur Chudgar (kchudgar.linux@...il.com) wrote:
> The way generally I saw this is done is,
> 1. Initially allocate skb with MTU size and configure ring buffer
> 2. If packet comes in multiple ring buffers, they copy these buffers
> and make a new single
> skb out of it
> 3. Send a single skb to netif_rx
>
> The point 2 above can be done either using memcpy or DMA. But in any
> case, we need a copy.
>
> Does anybody know, if there is a way, we can avoid the copy operation
> while a single packet
> received in multiple ring buffers?
Card can allocate list of pages and put data there, pages then can be
attached to skb. It is also possible to allocate new skb, put remainder
of the data there and chain skbs together, but it is not preffered way,
instead use fraglist of pages.
--
Evgeniy Polyakov
--
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