[Call for testers] bce(4) update

Xin LI delphij at delphij.net
Mon Nov 3 02:07:39 PST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dear 7-STABLE users,

I would like to call for test for a patchset that is intended for MFC to
7-STABLE before 7.1-RELEASE.  The patchset can be viewed/downloaded here:

	http://www.delphij.net/bce.diff (~1.2MB)

For those with slow network, you can download the compressed version:

	http://www.delphij.net/bce.diff.bz2 (~210KB)

In order to apply the patch, you will need to update your source tree to
latest RELENG_7, then, cd into /usr/src/sys and use patch < ~/bce.diff
(assume that you have downloaded it to your home directory), then
recompile your kernel (or module).

This patchset would add some new hardware support, plus a bunch of
bugfixes done by davidch@ in the past months.  Since this is a
relatively big change, I would appreciate tests from bce(4) hardware
owners, your help will aid us to make FreeBSD 7.1 a better release.

For your convenience, here is a summary for the change:

	r176448,178132,178853,179436,179695,179771,182293

r176448 (davidch)

 - 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
   receive chain.
 - Added additional debug support code.

r178132 (davidch)

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

r178853 (scottl)

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.

r179436 (jhb)

Trim an extra semi-colon.

r179695 (davidch)

 - Fixed kern/123696 by increasing firmware timeout value from 100 to
   1000.
 - 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.

PR:             kern/123696

r179771 (davidch)

 - Added support for BCM5709 and BCM5716 controllers.

r182293 (davidch)

 - Updated support for 5716.
 - Added some additional code for debug builds.
 - Fixed a problem printing physical memory on 64bit system during
   debugging.
 - 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.


- --
Xin LI <delphij at delphij.net>	http://www.delphij.net/
FreeBSD - The Power to Serve!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (FreeBSD)

iEYEARECAAYFAkkOzV4ACgkQi+vbBBjt66C3IgCgi5OVuzAIlzJ/cgSpZuWPdqvZ
FAEAn0xUK/gp5VNwisDgcbGzfPh7jig4
=1CGv
-----END PGP SIGNATURE-----


More information about the freebsd-stable mailing list