All of lore.kernel.org
 help / color / mirror / Atom feed
From: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
To: Krzysztof Oledzki <olel@ans.pl>
Cc: Arnd Hannemann <arnd@arndnet.de>,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: problems with e1000 and jumboframes
Date: Thu, 3 Aug 2006 19:16:31 +0400	[thread overview]
Message-ID: <20060803151631.GA14774@2ka.mipt.ru> (raw)
In-Reply-To: <Pine.LNX.4.64.0608031705560.8443@bizon.gios.gov.pl>

On Thu, Aug 03, 2006 at 05:08:51PM +0200, Krzysztof Oledzki (olel@ans.pl) wrote:
> >>Why? After your explanation that makes sense for me. The driver needs
> >>one contiguous chunk for those 9k packet buffer and thus requests a
> >>3-order page of 16k. Or do i still do not understand this?
> >
> >Correct, except that it wants 32k.
> >e1000 logic is following:
> >align frame size to power-of-two,
> 16K?

Yep.

> >then skb_alloc adds a little
> >(sizeof(struct skb_shared_info)) at the end, and this ends up
> >in 32k request just for 9k jumbo frame.
> 
> Strange, why this skb_shared_info cannon be added before first alignment? 
> And what about smaller frames like 1500, does this driver behave similar 
> (first align then add)?

It can be.
Could attached  (completely untested) patch help?

diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index da62db8..cf6506d 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -3132,6 +3132,8 @@ #define MAX_STD_JUMBO_FRAME_SIZE 9234
 	 * larger slab size
 	 * i.e. RXBUFFER_2048 --> size-4096 slab */
 
+	max_frame += sizeof(struct skb_shared_info);
+
 	if (max_frame <= E1000_RXBUFFER_256)
 		adapter->rx_buffer_len = E1000_RXBUFFER_256;
 	else if (max_frame <= E1000_RXBUFFER_512)
@@ -3146,6 +3148,8 @@ #define MAX_STD_JUMBO_FRAME_SIZE 9234
 		adapter->rx_buffer_len = E1000_RXBUFFER_8192;
 	else if (max_frame <= E1000_RXBUFFER_16384)
 		adapter->rx_buffer_len = E1000_RXBUFFER_16384;
+	
+	max_frame -= sizeof(struct skb_shared_info);
 
 	/* adjust allocation if LPE protects us, and we aren't using SBP */
 	if (!adapter->hw.tbi_compatibility_on &&

> Best regards,
> 
> 				Krzysztof Olędzki


-- 
	Evgeniy Polyakov

  reply	other threads:[~2006-08-03 15:16 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 [this message]
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
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=20060803151631.GA14774@2ka.mipt.ru \
    --to=johnpol@2ka.mipt.ru \
    --cc=arnd@arndnet.de \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.