Re: NFS Patch #8 for current available - new TCP fixes
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
:>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
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
: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
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
> -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
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.