Date: Tue, 11 Jan 2011 00:17:05 -0800 From: Jeremy Chadwick <freebsd@jdc.parodius.com> To: Chris H <chris#@1command.com> Cc: Yong-Hyeon Pyun <pyunyh@gmail.com>, Rick Macklem <rmacklem@uoguelph.ca>, freebsd-stable@freebsd.org Subject: Re: important NFS client patch for FreeBSD8.n Message-ID: <20110111081705.GA93322@icarus.home.lan> In-Reply-To: <6bb74cb2fa23167e22f88b716d18510e.HRCIM@webmail.1command.com> References: <717625949.112359.1294698176010.JavaMail.root@erie.cs.uoguelph.ca> <6bb74cb2fa23167e22f88b716d18510e.HRCIM@webmail.1command.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jan 10, 2011 at 11:40:37PM -0800, Chris H wrote: > Greetings, and thank you for the "heads up". > On Mon, January 10, 2011 2:22 pm, Rick Macklem wrote: > > I just commited a patch (r217242) to head. Anyone who is using client > > side NFS on FreeBSD8.n should apply this patch. It is also available at: > > http://people.freebsd.org/~rmacklem/krpc.patch > > > > > > It fixes a problem where the kernel rpc assumes that 4 bytes of data > > exists in the first mbuf without checking. If the data straddles multiple mbufs, > > it uses garbage and then a typical case will wedge for a minute or so until it > > times out and establishes a new TCP connection. It also replaces m_pullup() with > > m_copydata(), since m_pullup() can fail for rare cases when there is data > > available. (m_pullup() uses MGET(, M_DONTWAIT,) which can fail when mbuf > > allocation is constrainted, for example.) > > > > Thanks to john.gemignani at isilon.com for spotting this problem, rick > > I just fired a message off to @amd64 && @net because I am seeing messages like: > > nfe0: tx v2 error 0x6204<UNDERFLOW> > > on a recent 8.1/amd64 install which is connected to an 8.0/i386 via NFS. > They both run NFS client && server, and they both utilize mount points > on each other. They are only 2 of several interconnected servers. The > others are all 7x/i386. But I only see these messages on the 8.1/amd64, > and only when connected to, and utilizing mounts on the 8.0/i386, and even > then, only when the data exceeds ~1.5Mb. > I guess I'm asking if the messages I'm receiving are related to the > corrections your patch provides. Or should I keep looking for the answer > for the messages I am seeing. The above message is coming from the nfe(4) NIC driver, not from NFS. It's possible that NFS tickles some kind of I/O throughput quirk in drivers such as nfe(4), given that they're intended for cheap desktops. CC'ing Yong-Hyeon Pyun to assist in debugging/explaining the above error. In the interim, can you please provide output from the following commands: # uname -a # dmesg (please include relevant nfe details and miibus) # pciconf -lvcb (please only include nfe-related output) # netstat -ind (you can XX-out MACs and/or IPs) # ifconfig -a (you can XX-out MACs and/or IPs) Thanks. -- | Jeremy Chadwick jdc@parodius.com | | Parodius Networking http://www.parodius.com/ | | UNIX Systems Administrator Mountain View, CA, USA | | Making life hard for others since 1977. PGP 4BD6C0CB |
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110111081705.GA93322>