Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 May 2008 15:05:38 +0000 (UTC)
From:      Scott Long <scottl@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/dev/bce if_bce.c
Message-ID:  <200805081505.m48F5cHa066615@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
scottl      2008-05-08 15:05:38 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/bce          if_bce.c 
  Log:
  The BCE chips appear to have an undocumented requirement that RX frames be
  aligned on an 8 byte boundary.  Prior to rev 1.36 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.
  
  Revision  Changes    Path
  1.39      +8 -0      src/sys/dev/bce/if_bce.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200805081505.m48F5cHa066615>