From owner-freebsd-current Wed Apr 28 6:27:14 1999 Delivered-To: freebsd-current@freebsd.org Received: from skynet.ctr.columbia.edu (skynet.ctr.columbia.edu [128.59.64.70]) by hub.freebsd.org (Postfix) with SMTP id D15AE14C08; Wed, 28 Apr 1999 06:27:07 -0700 (PDT) (envelope-from wpaul@skynet.ctr.columbia.edu) Received: (from wpaul@localhost) by skynet.ctr.columbia.edu (8.6.12/8.6.9) id JAA29467; Wed, 28 Apr 1999 09:27:06 -0400 From: Bill Paul Message-Id: <199904281327.JAA29467@skynet.ctr.columbia.edu> Subject: Re: NFS Patch #8 for current available - new TCP fixes To: dillon@apollo.backplane.com (Matthew Dillon) Date: Wed, 28 Apr 1999 09:27:05 -0400 (EDT) Cc: hackers@FreeBSD.ORG, current@FreeBSD.ORG In-Reply-To: <199904272018.NAA00464@apollo.backplane.com> from "Matthew Dillon" at Apr 27, 99 01:18:21 pm X-Mailer: ELM [version 2.4 PL24] Content-Type: text Content-Length: 2310 Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Of all the gin joints in all the towns in all the world, Matthew Dillon had to walk into mine and say: > (fanfair!) (Darth Vader's imperial march theme) > NFS Patch #8 for -current is now available. This patch fixes serious bugs > w/ NFS/TCP. Probably not *all* the failure conditions, but hopefully > most of them. [...] > Neither the 'de' nor the 'xl' ethernet drivers align the packet. The 'xl' > driver conditionally aligns it for the alpha. Part of the patch fixes > the 'xl' driver to unconditionally align the packet buffer in order to > improve NFS performance. I could not do the same for the 'de' driver > because I am unsure if the dec chipset can handle an unaligned start > address. From what I can tell, the DEC parts make you specify an RX DMA buffer address that is longword aligned. There are actually not that many devices where you're allowed to use arbitrary byte-aligned addresses for receive buffers (the 3Com XL and Intel 'speedo' chips let you do it, as well as the ThunderLAN, and the Alteon Tigon NIC; I _think_ the AMD PCnet/LANCE devices let you do it, but that's about it). For parts that don't support arbitrary alignment, you have to copy. Now, in some of the drivers that I ported to the alpha, I only copied the first small section of the packet in order to get the IP header aligned (since failing to do this causes an unaligned access trap in the IP code). This is faster than copying the entire packet to fix the alignment, but I'm not sure what effect it has on NFS. That said, although I haven't looked too closely at the de driver (it scares me -- a lot), it should have some sort of gimmick to fix the packet alignment otherwise it wouldn't work on the alpha. -Bill -- ============================================================================= -Bill Paul (212) 854-6020 | System Manager, Master of Unix-Fu Work: wpaul@ctr.columbia.edu | Center for Telecommunications Research Home: wpaul@skynet.ctr.columbia.edu | Columbia University, New York City ============================================================================= "It is not I who am crazy; it is I who am mad!" - Ren Hoek, "Space Madness" ============================================================================= To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message