HEADSUP bce(4) 7-STABLE users [Fwd: svn commit: r184826 - in stable/7/sys: . dev/bce]

Xin LI delphij at delphij.net
Mon Nov 10 14:47:51 PST 2008

Hash: SHA1


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

Author: delphij
Date: Mon Nov 10 22:40:16 2008
New Revision: 184826
URL: http://svn.freebsd.org/changeset/base/184826

  Merge the following bce(4) changes:


  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
   - 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
   - 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!
Version: GnuPG v2.0.9 (FreeBSD)


More information about the freebsd-stable mailing list