From owner-cvs-all@FreeBSD.ORG Thu May 8 15:05:39 2008 Return-Path: Delivered-To: cvs-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 06B631065670; Thu, 8 May 2008 15:05:39 +0000 (UTC) (envelope-from scottl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EAAFD8FC14; Thu, 8 May 2008 15:05:38 +0000 (UTC) (envelope-from scottl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m48F5cGr066616; Thu, 8 May 2008 15:05:38 GMT (envelope-from scottl@repoman.freebsd.org) Received: (from scottl@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m48F5cHa066615; Thu, 8 May 2008 15:05:38 GMT (envelope-from scottl) Message-Id: <200805081505.m48F5cHa066615@repoman.freebsd.org> From: Scott Long Date: Thu, 8 May 2008 15:05:38 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/dev/bce if_bce.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 May 2008 15:05:39 -0000 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