cvs commit: src/sys/dev/bce if_bce.c
Scott Long
scottl at FreeBSD.org
Thu May 8 15:05:39 UTC 2008
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
More information about the cvs-src
mailing list