svn commit: r229755 - in stable/7/sys: dev/bce dev/mxge sys

Pyun YongHyeon yongari at FreeBSD.org
Sat Jan 7 01:12:22 UTC 2012


Author: yongari
Date: Sat Jan  7 01:12:21 2012
New Revision: 229755
URL: http://svn.freebsd.org/changeset/base/229755

Log:
  MFC r207761:
    Add a fastpath to allocate from packet zone when using m_getjcl.
    This will add support for packet zone for at least igb and ixgbe
    and will avoid to check for that in bce and mxge.

Modified:
  stable/7/sys/dev/bce/if_bce.c
  stable/7/sys/dev/mxge/if_mxge.c
  stable/7/sys/sys/mbuf.h
Directory Properties:
  stable/7/sys/   (props changed)
  stable/7/sys/cddl/contrib/opensolaris/   (props changed)
  stable/7/sys/contrib/dev/acpica/   (props changed)
  stable/7/sys/contrib/pf/   (props changed)

Modified: stable/7/sys/dev/bce/if_bce.c
==============================================================================
--- stable/7/sys/dev/bce/if_bce.c	Sat Jan  7 01:08:17 2012	(r229754)
+++ stable/7/sys/dev/bce/if_bce.c	Sat Jan  7 01:12:21 2012	(r229755)
@@ -5017,11 +5017,8 @@ bce_get_rx_buf(struct bce_softc *sc, str
 #ifdef BCE_JUMBO_HDRSPLIT
 		MGETHDR(m_new, M_DONTWAIT, MT_DATA);
 #else
-		if (sc->rx_bd_mbuf_alloc_size <= MCLBYTES)
-			m_new = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR);
-		else
-			m_new = m_getjcl(M_DONTWAIT, MT_DATA, M_PKTHDR,
-			    sc->rx_bd_mbuf_alloc_size);
+		m_new = m_getjcl(M_DONTWAIT, MT_DATA, M_PKTHDR,
+		    sc->rx_bd_mbuf_alloc_size);
 #endif
 
 		if (m_new == NULL) {

Modified: stable/7/sys/dev/mxge/if_mxge.c
==============================================================================
--- stable/7/sys/dev/mxge/if_mxge.c	Sat Jan  7 01:08:17 2012	(r229754)
+++ stable/7/sys/dev/mxge/if_mxge.c	Sat Jan  7 01:12:21 2012	(r229755)
@@ -2260,10 +2260,7 @@ mxge_get_buf_big(struct mxge_slice_state
 	mxge_rx_ring_t *rx = &ss->rx_big;
 	int cnt, err, i;
 
-	if (rx->cl_size == MCLBYTES)
-		m = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR);
-	else
-		m = m_getjcl(M_DONTWAIT, MT_DATA, M_PKTHDR, rx->cl_size);
+	m = m_getjcl(M_DONTWAIT, MT_DATA, M_PKTHDR, rx->cl_size);
 	if (m == NULL) {
 		rx->alloc_fail++;
 		err = ENOBUFS;

Modified: stable/7/sys/sys/mbuf.h
==============================================================================
--- stable/7/sys/sys/mbuf.h	Sat Jan  7 01:08:17 2012	(r229754)
+++ stable/7/sys/sys/mbuf.h	Sat Jan  7 01:12:21 2012	(r229755)
@@ -484,6 +484,9 @@ m_getjcl(int how, short type, int flags,
 	struct mbuf *m, *n;
 	uma_zone_t zone;
 
+	if (size == MCLBYTES)
+		return m_getcl(how, type, flags);
+
 	args.flags = flags;
 	args.type = type;
 


More information about the svn-src-stable-7 mailing list