From owner-freebsd-hackers Sun Jun 23 9:22: 0 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from pacbell.net (adsl-63-199-179-203.dsl.snfc21.pacbell.net [63.199.179.203]) by hub.freebsd.org (Postfix) with ESMTP id 7E40037B401; Sun, 23 Jun 2002 09:21:33 -0700 (PDT) Received: (from paleph@localhost) by pacbell.net (8.11.0/8.9.3) id g5NFqS002122; Sun, 23 Jun 2002 08:52:28 -0700 From: paleph@pacbell.net Message-Id: <200206231552.g5NFqS002122@pacbell.net> Subject: Re: Re: bge driver issue To: freebsd-hackers@freebsd.org Date: Sun, 23 Jun 2002 08:52:28 -0700 (PDT) Cc: freebsd-net@freebsd.org X-Mailer: ELM [version 2.5 PL3] MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG John. Thanks for the tip. I changed ETHER_ALIGN to 0 and the driver started to work. I am not sure about the performance since I seem to get only 50 Mbit over a 100 Mbit line. However this is much better than the timeout warnings... Thanks for the input. It is really appreciated. Do you need any other experiments done? We're going to ship the 2650 back to Dell for other reasons (form factor and noise). Paul Fronberg paleph@pacbell.net >In article <200206182206.g5IM6P003388@pacbell.net>, > wrote: >> We have a Dell poweredge 2650 (successor to 2550). >> >> We also saw the same problem with 4.5. I tried the current bge driver from 4.6> without success. The problem seems to be a size problem. When we ftp a small >> file, things work fine. However, when we try a 18 Megabyte file, the ftp >> hands and we see the problem descriped below. The linux system that came >> with the hardware (from dell) worked fine. > >On the 2650 or any other x86 PCI-X system, please try the following >simple experiment. Edit "src/sys/dev/bge/if_bgereg.h". Find this >line: > > #define ETHER_ALIGN 2 > >Change the "2" to "0". Build and install a new kernel. See whether >it solves the problem. > >Here is the reasoning behind the experiment. The bge driver sets >things up so that the NIC DMAs received packets into mbuf clusters >starting ETHER_ALIGN bytes from the beginning of the buffer. That is >done so the payload after the 14- or 18-byte Ethernet header will be >aligned in memory at a 4-byte boundary. The Linux driver from 3Com >for the 3c996B-T does the same thing. However, on PCI-X busses only, >that driver disables the 2-byte offsetting and stores received packets >at the very beginning of the buffer in memory. It is reasonable to >assume that they went to all that trouble for a reason -- for example, >a chip bug. > >This change will impact performance on the x86 architecture, and it >will flat-out break Alphas and most other architectures. The actual >fix would have to be more intelligent, but this is just an experiment. > >Please report back after you have tried this change. I know two >people who have reported that it solved the problems they were having >with BCM5701 chips in PCI-X systems. > >John >-- > John Polstra > John D. Polstra & Co., Inc. Seattle, Washington USA > "Disappointment is a good sign of basic intelligence." -- Chögyam Trungpa > > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message