Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Apr 1999 09:27:05 -0400 (EDT)
From:      Bill Paul <wpaul@skynet.ctr.columbia.edu>
To:        dillon@apollo.backplane.com (Matthew Dillon)
Cc:        hackers@FreeBSD.ORG, current@FreeBSD.ORG
Subject:   Re: NFS Patch #8 for current available - new TCP fixes
Message-ID:  <199904281327.JAA29467@skynet.ctr.columbia.edu>
In-Reply-To: <199904272018.NAA00464@apollo.backplane.com> from "Matthew Dillon" at Apr 27, 99 01:18:21 pm

next in thread | previous in thread | raw e-mail | index | archive | help
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-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199904281327.JAA29467>