netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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).