HEADSUP bce(4) 7-STABLE users [Fwd: svn commit: r184826 - in
stable/7/sys: . dev/bce]
delphij at delphij.net
Mon Nov 10 14:47:51 PST 2008
-----BEGIN PGP SIGNED MESSAGE-----
FYI. I have just committed a MFC of most of recent bce(4) improvements.
These changes were in tree for some months, while on the other hand
it's a big chunk of changes. Feedbacks appreciated.
- -------- Original Message --------
Subject: svn commit: r184826 - in stable/7/sys: . dev/bce
Date: Mon, 10 Nov 2008 22:40:16 +0000 (UTC)
From: Xin LI <delphij at FreeBSD.ORG>
To: src-committers at FreeBSD.ORG, svn-src-all at FreeBSD.ORG,
svn-src-stable at FreeBSD.ORG, svn-src-stable-7 at FreeBSD.ORG
Date: Mon Nov 10 22:40:16 2008
New Revision: 184826
Merge the following bce(4) changes:
- Added loose RX MTU functionality to allow frames larger than 1500
bytes to be accepted even though the interface MTU is set to 1500.
- Implemented new TCP header splitting/jumbo frame support which uses
two chains for receive traffic rather than the original single
- Added additional debug support code.
- Fixed a problem with the send chain consumer index which would cause
TX traffic to sit in the send chain until a received packet kick
started the interrupt handler. This would cause extremely slow
performance when used with NFS over UDP.
- Removed untested polling code.
- Updated copyright year in the file header.
- Removed inadvertent ^M's created by DOS text editor.
The BCE chips appear to have an undocumented requirement that RX frames
be aligned on an 8 byte boundary. Prior to rev 1.36 (now r176448) this
wasn't a problem because mbuf clusters tend be naturally aligned. The
switch to using split buffers with the first buffer being the embedded
data area of the mbuf has broken this assumption, at least on i386,
causing a complete failure of RX functionality. Fix this for now by
using a full cluster for the first RX buffer. A more sophisticated
approach could be done with the old buffer scheme to realign the m_data
pointer with m_adj(), but I'm also not clear on performance benefits of
this old scheme or the performance implications of adding an m_adj()
call to every allocation.
Trim an extra semi-colon.
- Fixed kern/123696 by increasing firmware timeout value from 100 to
- Fixed a problem on i386 architecture when using split header/jumbo
frame firmware caused by hardware alignment requirements.
- Added #define BCE_USE_SPLIT_HEADER to allow the feature to be
enabled/disabled. Enabled by default.
- Added support for BCM5709 and BCM5716 controllers.
- Updated support for 5716.
- Added some additional code for debug builds.
- Fixed a problem printing physical memory on 64bit system during
- Modified some of the context memory and mailbox register names to
more clearly distinguish their use.
- Added memory barriers for Intel CPUs when accessing host memory data
structures which are written by hardware.
Approved by: re (kib)
stable/7/sys/ (props changed)
Xin LI <delphij at delphij.net> http://www.delphij.net/
FreeBSD - The Power to Serve!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (FreeBSD)
-----END PGP SIGNATURE-----
More information about the freebsd-stable