Re: NFS Patch #8 for current available - new TCP fixes

1999-05-04 Thread Doug Rabson
On Tue, 4 May 1999, Tony Finch wrote:

> Matthew Dillon  wrote:
> >
> >(fanfair!)
> 
> :-)
> 
> >NFS attempts to realign packet buffers and trods all over the underlying
> >mbufs.  For TCP connections, several RPC's may be present in an mbuf 
> >chain.  The realignment of one of them may destroy the others.  This does
> >not occur with UDP because each UDP packet contains only a single rpc.
> >
> >Packet buffers may be unaligned for a number of reasons.  The main reason
> >is due to the 14 byte MAC header on the ethernet frame.  This causes the
> >remainder of the packet - the ip payload - to NOT be 4-byte aligned.
> 
> We're planning to try replacing some Solaris web servers with FreeBSD
> machines in the near future. The documents are on a read-only NFS
> filestore connected to the web servers with CDDI. (Updates will stay
> on a Sun box.) Are we going to have nfs_realign problems if we use TCP
> in this situation or should we stick with UDP?

I think UDP will probably work better. There won't be any problem with
frames being re-ordered and the protocol overhead should be less.

--
Doug Rabson Mail:  d...@nlsystems.com
Nonlinear Systems Ltd.  Phone: +44 181 442 9037




To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message



Re: NFS Patch #8 for current available - new TCP fixes

1999-05-04 Thread Matthew Dillon
:>remainder of the packet - the ip payload - to NOT be 4-byte aligned.
:
:We're planning to try replacing some Solaris web servers with FreeBSD
:machines in the near future. The documents are on a read-only NFS
:filestore connected to the web servers with CDDI. (Updates will stay
:on a Sun box.) Are we going to have nfs_realign problems if we use TCP
:in this situation or should we stick with UDP?
:
:Tony.

TCP should be very close to UDP now on current.  I hope to get a patch
for the TCP fixes into -stable for the 3.2 release.  There are still bugs
in NFS, but they are considerably less serious then before.

-Matt
Matthew Dillon 



To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message



Re: NFS Patch #8 for current available - new TCP fixes

1999-05-04 Thread Tony Finch
Matthew Dillon  wrote:
>
>(fanfair!)

:-)

>NFS attempts to realign packet buffers and trods all over the underlying
>mbufs.  For TCP connections, several RPC's may be present in an mbuf 
>chain.  The realignment of one of them may destroy the others.  This does
>not occur with UDP because each UDP packet contains only a single rpc.
>
>Packet buffers may be unaligned for a number of reasons.  The main reason
>is due to the 14 byte MAC header on the ethernet frame.  This causes the
>remainder of the packet - the ip payload - to NOT be 4-byte aligned.

We're planning to try replacing some Solaris web servers with FreeBSD
machines in the near future. The documents are on a read-only NFS
filestore connected to the web servers with CDDI. (Updates will stay
on a Sun box.) Are we going to have nfs_realign problems if we use TCP
in this situation or should we stick with UDP?

Tony.
-- 
f.a.n.finch   d...@dotat.at   f...@demon.net
Arthur: "Oh, that sounds better, have you worked out the controls?"
Ford:   "No, we just stopped playing with them."


To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message



Re: NFS Patch #8 for current available - new TCP fixes

1999-04-28 Thread Matthew Dillon
: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.
:
:-Bill
:
:-- 
:=
:-Bill Paul(212) 854-6020 | System Manager, Master of Unix-Fu

What will happen is that NFS will realign the unaligned mbufs, which
requires a copy.  NFS previously copied in-place, but my patch rewrites
that code to copy to a new buffer ( because copying in-place breaks
NFS/TCP ).

We could avoid realigning the mbufs by changing the various NFS 32 bit
read/write macros to operate in 16 bit chunks.  This might be the best
solution ultimately.

-Matt
Matthew Dillon 




To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message



Re: NFS Patch #8 for current available - new TCP fixes

1999-04-28 Thread Doug Rabson
On Wed, 28 Apr 1999, Bill Paul wrote:

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

The de driver copies the entire packet.

--
Doug Rabson Mail:  d...@nlsystems.com
Nonlinear Systems Ltd.  Phone: +44 181 442 9037




To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message



RE: NFS Patch #8 for current available - new TCP fixes

1999-04-28 Thread paul
> -Original Message-
> From: Bill Paul [mailto:wp...@skynet.ctr.columbia.edu]
> Sent: 28 April 1999 14:27
> To: dil...@apollo.backplane.com
> Cc: hack...@freebsd.org; curr...@freebsd.org
> Subject: Re: NFS Patch #8 for current available - new TCP fixes
> 
> 
> 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).

The Lance requires longword alignement, the PCnet requires 16 byte
alignement if you put it in 32 bit mode, otherwise it's the same as the
lance.

Paul.


To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message



Re: NFS Patch #8 for current available - new TCP fixes

1999-04-28 Thread Bill Paul
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.