LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Andrew Savchenko <Bircoph@list.ru>
To: linux-kernel@vger.kernel.org
Cc: penberg@cs.helsinki.fi
Subject: Re: [RFC/PATCH] ipg: add jumbo frame support kconfig option
Date: Fri, 20 Jun 2008 10:37:36 +0400	[thread overview]
Message-ID: <200806201037.46687.Bircoph@list.ru> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 2058 bytes --]

Hello,

On Wed, 27 Feb 2008 09:44:44 +0200 (EET), Pekka J Enberg wrote:
> Stephen Hemminger wrote:
> > > Please don't do this as a config option. Config options seem
> > > like a good idea to developers but are difficult for
> > > distributions.  Either support jumbo frames by default or
> > > not at all.
>
> On Tue, 26 Feb 2008, Jeff Garzik wrote:
> > Agreed, but to be more specific... always compile in jumbo
> > frame support. You don't have to enable it at runtime by
> > default, though.
>
> Ok, so a sysfs attribute would be sufficient, I suppose? I don't
> have the hardware though, so I don't even know if the jumbo
> frame code actually works at this point hence the RFC. So I'll
> wait for someone to test this before sending a new patch. Thanks
> for the review!

I own such card:
02:02.0 Ethernet controller: Sundance Technology Inc / IC Plus Corp 
IP1000 Family Gigabit Ethernet (rev 41)
and I use patch similar to yours in order to enable Jumbo Frames. 
See attachment for details, patch is done for linux-2.6.25.6.

It works fine for me. However, I enabled 10K jumbo boxes instead of 
default 4K value, activated using your patch. Reason is simple: I 
need at least 9000-byte jumbo boxes in my network.

However, I have one request for you: please, make in possible to 
choose max MTU via kernel config option. In different environments 
different people may need different max MTU sizes (2K...10K). 
Recommended value is 4K (as described in the original driver from 
manufacturer, which was remake into kernel's one), but, for 
example, I'm interested in larger MTU values. OTOH larger MTU 
values require more memory and so on. For me, as for end user of 
Linux kernel, a possibility to select desired max MTU is very 
attractive and is definitely in no doubt more convenient than 
patching the kernel myself each time.

So, feel free to add jumbo boxes on ipg support to the mainstream 
and, please, make in possible to select max MTU; 4K as default 
will be fine.

Sincerely yours,
Andrew

[-- Attachment #1.2: ipg-jumbo.patch --]
[-- Type: text/plain, Size: 1239 bytes --]

--- drivers/net/ipg.c.orig	2008-04-17 06:49:44.000000000 +0400
+++ drivers/net/ipg.c	2008-06-18 04:46:06.000000000 +0400
@@ -42,7 +42,8 @@
 #define ipg_r16(reg)		ioread16(ioaddr + (reg))
 #define ipg_r8(reg)		ioread8(ioaddr + (reg))
 
-#define JUMBO_FRAME_4k_ONLY
+#define JUMBO_FRAME
+#define JUMBO_FRAME_SIZE_10K
 enum {
 	netdev_io_size = 128
 };
@@ -1267,7 +1268,7 @@
 			return;
 
 		if (jumbo->found_start) {
-			int framelen, endframelen;
+			int framelen, endframeLen;
 
 			framelen = le64_to_cpu(rxfd->rfs) & IPG_RFS_RXFRAMELEN;
 
@@ -1352,16 +1353,16 @@
 
 		switch (ipg_nic_rx_check_frame_type(dev)) {
 		case FRAME_WITH_START_WITH_END:
-			ipg_nic_rx_with_start_and_end(dev, tp, rxfd, entry);
+			ipg_nic_rx_with_start_and_end(dev, sp, rxfd, entry);
 			break;
 		case FRAME_WITH_START:
-			ipg_nic_rx_with_start(dev, tp, rxfd, entry);
+			ipg_nic_rx_with_start(dev, sp, rxfd, entry);
 			break;
 		case FRAME_WITH_END:
-			ipg_nic_rx_with_end(dev, tp, rxfd, entry);
+			ipg_nic_rx_with_end(dev, sp, rxfd, entry);
 			break;
 		case FRAME_NO_START_NO_END:
-			ipg_nic_rx_no_start_no_end(dev, tp, rxfd, entry);
+			ipg_nic_rx_no_start_no_end(dev, sp, rxfd, entry);
 			break;
 		}
 	}

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

             reply	other threads:[~2008-06-20  8:04 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-20  6:37 Andrew Savchenko [this message]
2008-06-20 11:12 ` Pekka Enberg
2008-06-20 15:41   ` Stephen Hemminger
2008-06-22  9:23     ` Pekka J Enberg
2008-06-22 13:07       ` Andrew Savchenko
2008-06-21  0:04   ` Andrew Savchenko
  -- strict thread matches above, loose matches on Subject: below --
2008-02-26 19:49 Pekka J Enberg
2008-02-26 20:32 ` Stephen Hemminger
2008-02-26 23:08   ` Jeff Garzik
2008-02-27  7:44     ` Pekka J Enberg
2008-02-27  7:52       ` Pekka J Enberg
2008-02-27  8:05         ` Jeff Garzik
2008-02-26 19:46 Pekka J Enberg

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=200806201037.46687.Bircoph@list.ru \
    --to=bircoph@list.ru \
    --cc=linux-kernel@vger.kernel.org \
    --cc=penberg@cs.helsinki.fi \
    --subject='Re: [RFC/PATCH] ipg: add jumbo frame support kconfig option' \
    /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

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