From: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
To: Jesse Brandeburg <jesse.brandeburg@gmail.com>
Cc: Chris Leech <chris.leech@gmail.com>,
Herbert Xu <herbert@gondor.apana.org.au>,
arnd@arndnet.de, olel@ans.pl, linux-kernel@vger.kernel.org,
netdev@vger.kernel.org
Subject: Re: problems with e1000 and jumboframes
Date: Sat, 5 Aug 2006 13:58:46 +0400 [thread overview]
Message-ID: <20060805095846.GA17867@2ka.mipt.ru> (raw)
In-Reply-To: <4807377b0608041402p10149bfbrd9e5f3b8849d3f56@mail.gmail.com>
On Fri, Aug 04, 2006 at 02:02:51PM -0700, Jesse Brandeburg (jesse.brandeburg@gmail.com) wrote:
> >> So how many skb allocation schemes do you code into a single driver?
> >> Kmalloc everything, page alloc everything, combination of kmalloc and
> >> page buffers for hardware that does header split? That's three
> >> versions of the drivers receive processing and skb allocation that
> >> need to be maintained.
> >
> >At least try to create scheme which will not end up in 32k allocation in
> >atomic context. Generally I would recommend to use frag_list as much as
> >possible (or you can reuse skb list).
>
> this is exactly what we ran into, you can't use skb list because the
> ip fragmentation reassembly code overwrites it. If someone is feeling
> particularly miffed by this i would love to see a patch that used
> alloc_page() for all of our receive buffers for the legacy receive
> path (e1000_clean_rx_irq) then we would be able to use nr_frags and
> frag_list for receives.
>
> Oh, except that eth_type_trans can't handle the entire packet in the
> frag_list (it wants the header in the skb->data)
Yes, part of the packet must live in skb->data, but it does not differ
from frag_list management - place part of the data in skb->data and the
rest into frag_list.
If you can create several skbs and link them togeter you defenitely can
organize pages into frag_list, just get pages from different skb->data
and free those skbs.
> anyway, this is not as easy a problem to solve as it would seem on the
> surface.
No one says it is easy or not, but I'me 100% sure that 32k allocation
for 9k jumbo frame in atomic context is not what people expect from
high-performance NIC.
> Jesse
> -
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Evgeniy Polyakov
next prev parent reply other threads:[~2006-08-05 9:58 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-03 13:48 problems with e1000 and jumboframes Arnd Hannemann
2006-08-03 13:59 ` Evgeniy Polyakov
2006-08-03 14:37 ` Arnd Hannemann
2006-08-03 15:03 ` Evgeniy Polyakov
2006-08-03 15:08 ` Krzysztof Oledzki
2006-08-03 15:16 ` Evgeniy Polyakov
2006-08-03 15:37 ` Arnd Hannemann
2006-08-03 15:43 ` Evgeniy Polyakov
2006-08-03 15:41 ` Evgeniy Polyakov
2006-08-03 18:09 ` Arnd Hannemann
2006-08-03 18:29 ` Evgeniy Polyakov
2006-08-03 21:40 ` Arnd Hannemann
2006-08-03 15:57 ` Chris Leech
2006-08-03 16:10 ` Evgeniy Polyakov
2006-08-03 20:32 ` Chris Leech
2006-08-04 6:20 ` Evgeniy Polyakov
2006-08-04 15:16 ` Chris Leech
2006-08-03 16:24 ` Arnd Hannemann
2006-08-03 20:34 ` Chris Leech
2006-08-04 5:59 ` Herbert Xu
2006-08-04 6:15 ` Evgeniy Polyakov
2006-08-04 15:34 ` Chris Leech
2006-08-04 19:42 ` Evgeniy Polyakov
2006-08-04 21:02 ` Jesse Brandeburg
2006-08-05 9:58 ` Evgeniy Polyakov [this message]
2006-08-05 10:09 ` Herbert Xu
2006-08-05 10:24 ` Evgeniy Polyakov
2006-08-05 10:33 ` Herbert Xu
2006-08-05 10:41 ` Evgeniy Polyakov
2006-08-03 15:23 ` Evgeniy Polyakov
2006-08-04 5:52 ` Herbert Xu
2006-08-04 5:55 ` David Miller
2006-08-04 5:58 ` Evgeniy Polyakov
2006-08-03 14:24 ` Benjamin LaHaise
2006-08-03 14:49 ` Krzysztof Oledzki
2006-08-03 14:52 ` Benjamin LaHaise
2006-08-03 15:04 ` Krzysztof Oledzki
2006-08-03 15:32 ` Arnd Hannemann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060805095846.GA17867@2ka.mipt.ru \
--to=johnpol@2ka.mipt.ru \
--cc=arnd@arndnet.de \
--cc=chris.leech@gmail.com \
--cc=herbert@gondor.apana.org.au \
--cc=jesse.brandeburg@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=olel@ans.pl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).