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>