All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Hannemann <arnd@arndnet.de>
To: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org, olel@ans.pl
Subject: Re: problems with e1000 and jumboframes
Date: Thu, 03 Aug 2006 20:09:07 +0200	[thread overview]
Message-ID: <44D23BC3.7040707@arndnet.de> (raw)
In-Reply-To: <20060803154125.GA9745@2ka.mipt.ru>

[-- Attachment #1: Type: text/plain, Size: 2750 bytes --]

Evgeniy Polyakov schrieb:
> On Thu, Aug 03, 2006 at 07:16:31PM +0400, Evgeniy Polyakov (johnpol@2ka.mipt.ru) wrote:
>>>> 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?
> 
> Actually this patch will not help, this new one could.
> 

I applied the attached pachted. And got this output:

> Intel(R) PRO/1000 Network Driver - bufsz 13762
> Intel(R) PRO/1000 Network Driver - bufsz 16222
> Intel(R) PRO/1000 Network Driver - bufsz 16058
> Intel(R) PRO/1000 Network Driver - bufsz 15894
> Intel(R) PRO/1000 Network Driver - bufsz 15730
> Intel(R) PRO/1000 Network Driver - bufsz 15566
> Intel(R) PRO/1000 Network Driver - bufsz 15402
> Intel(R) PRO/1000 Network Driver - bufsz 15238
> Intel(R) PRO/1000 Network Driver - bufsz 15074
> Intel(R) PRO/1000 Network Driver - bufsz 14910
> Intel(R) PRO/1000 Network Driver - bufsz 14746
> Intel(R) PRO/1000 Network Driver - bufsz 14582
> Intel(R) PRO/1000 Network Driver - bufsz 14418
> Intel(R) PRO/1000 Network Driver - bufsz 14254
> Intel(R) PRO/1000 Network Driver - bufsz 14090
> Intel(R) PRO/1000 Network Driver - bufsz 13926
> Intel(R) PRO/1000 Network Driver - bufsz 13762
> Intel(R) PRO/1000 Network Driver - bufsz 16222
> Intel(R) PRO/1000 Network Driver - bufsz 16058
> Intel(R) PRO/1000 Network Driver - bufsz 15894
> Intel(R) PRO/1000 Network Driver - bufsz 15730
> Intel(R) PRO/1000 Network Driver - bufsz 15566
> Intel(R) PRO/1000 Network Driver - bufsz 15402
> Intel(R) PRO/1000 Network Driver - bufsz 15238
> Intel(R) PRO/1000 Network Driver - bufsz 15074
> Intel(R) PRO/1000 Network Driver - bufsz 14910
> Intel(R) PRO/1000 Network Driver - bufsz 14746
> Intel(R) PRO/1000 Network Driver - bufsz 14582
> Intel(R) PRO/1000 Network Driver - bufsz 14418
> Intel(R) PRO/1000 Network Driver - bufsz 16222
> Intel(R) PRO/1000 Network Driver - bufsz 16222
> Intel(R) PRO/1000 Network Driver - bufsz 16222
> Intel(R) PRO/1000 Network Driver - bufsz 16222
> Intel(R) PRO/1000 Network Driver - bufsz 16222
> Intel(R) PRO/1000 Network Driver - bufsz 16222
> Intel(R) PRO/1000 Network Driver - bufsz 16222
> Intel(R) PRO/1000 Network Driver - bufsz 16222
> Intel(R) PRO/1000 Network Driver - bufsz 16222
> Intel(R) PRO/1000 Network Driver - bufsz 16222
> Intel(R) PRO/1000 Network Driver - bufsz 16222

I'm a bit puzzled that there are so much allocations. However the patch
seems to work. (at least not obviously breaks things for me yet)

Best regards
Arnd


[-- Attachment #2: patch.txt --]
[-- Type: text/plain, Size: 661 bytes --]

--- linux-2.6.17.6/drivers/net/e1000/e1000_main.c	2006-08-03 17:38:53.000000000 +0200
+++ linux-2.6.17.6.patched/drivers/net/e1000/e1000_main.c	2006-08-03 19:38:53.000000000 +0200
@@ -3843,9 +3843,13 @@
 	buffer_info = &rx_ring->buffer_info[i];
 
 	while (cleaned_count--) {
-		if (!(skb = buffer_info->skb))
+		if (!(skb = buffer_info->skb)) {
+			if (SKB_DATA_ALIGN(adapter->hw.max_frame_size) + sizeof(struct skb_shared_info) <= bufsz) {
+				bufsz -= sizeof(struct skb_shared_info);
+				printk(KERN_INFO "%s - bufsz %d\n",e1000_driver_string, bufsz);
+			}
 			skb = dev_alloc_skb(bufsz);
-		else {
+		} else {
 			skb_trim(skb, 0);
 			goto map_skb;
 		}

  reply	other threads:[~2006-08-03 18:09 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 [this message]
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=44D23BC3.7040707@arndnet.de \
    --to=arnd@arndnet.de \
    --cc=johnpol@2ka.mipt.ru \
    --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.