svn commit: r184977 - user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb

Kip Macy kmacy at FreeBSD.org
Fri Nov 14 18:36:54 PST 2008


Author: kmacy
Date: Sat Nov 15 02:36:53 2008
New Revision: 184977
URL: http://svn.freebsd.org/changeset/base/184977

Log:
  convert tx coalescing from a tunable in to a sysctl

Modified:
  user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb/cxgb_multiq.c
  user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb/cxgb_sge.c

Modified: user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb/cxgb_multiq.c
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb/cxgb_multiq.c	Sat Nov 15 01:43:34 2008	(r184976)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb/cxgb_multiq.c	Sat Nov 15 02:36:53 2008	(r184977)
@@ -88,13 +88,9 @@ __FBSDID("$FreeBSD$");
 
 extern int txq_fills;
 int multiq_tx_enable = 1;
+int coalesce_tx_enable = 0;
 
 extern struct sysctl_oid_list sysctl__hw_cxgb_children;
-static int cxgb_pcpu_tx_coalesce = 1;
-TUNABLE_INT("hw.cxgb.tx_coalesce", &cxgb_pcpu_tx_coalesce);
-SYSCTL_UINT(_hw_cxgb, OID_AUTO, tx_coalesce, CTLFLAG_RDTUN, &cxgb_pcpu_tx_coalesce, 0,
-    "coalesce small packets into a single work request");
-
 static int sleep_ticks = 1;
 TUNABLE_INT("hw.cxgb.sleep_ticks", &sleep_ticks);
 SYSCTL_UINT(_hw_cxgb, OID_AUTO, sleep_ticks, CTLFLAG_RDTUN, &sleep_ticks, 0,
@@ -201,7 +197,7 @@ cxgb_dequeue_packet(struct sge_txq *txq,
 		m->m_type, txq->txq_mr.br_cons, txq->txq_mr.br_prod));
 	m_vec[0] = m;
 	if (m->m_pkthdr.tso_segsz > 0 || m->m_pkthdr.len > TX_WR_SIZE_MAX ||
-	    m->m_next != NULL || (cxgb_pcpu_tx_coalesce == 0)) {
+	    m->m_next != NULL || (coalesce_tx_enable == 0)) {
 		return (count);
 	}
 
@@ -387,7 +383,7 @@ cxgb_pcpu_transmit(struct ifnet *ifp, st
 
 	if (((sc->tunq_coalesce == 0) ||
 		(buf_ring_count(&txq->txq_mr) >= TX_WR_COUNT_MAX) ||
-		(cxgb_pcpu_tx_coalesce == 0)) && mtx_trylock(&txq->lock)) {
+		(coalesce_tx_enable == 0)) && mtx_trylock(&txq->lock)) {
 		if (cxgb_debug)
 			printf("doing immediate transmit\n");
 		

Modified: user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb/cxgb_sge.c
==============================================================================
--- user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb/cxgb_sge.c	Sat Nov 15 01:43:34 2008	(r184976)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb/cxgb_sge.c	Sat Nov 15 02:36:53 2008	(r184977)
@@ -85,6 +85,7 @@ extern int nmbjumbo4;
 extern int nmbjumbo9;
 extern int nmbjumbo16;
 extern int multiq_tx_enable;
+extern int coalesce_tx_enable;
 
 #define USE_GTS 0
 
@@ -3369,6 +3370,10 @@ t3_add_attach_sysctls(adapter_t *sc)
 	    CTLFLAG_RW, &multiq_tx_enable,
 	    0, "enable transmit by multiple tx queues");
 	SYSCTL_ADD_INT(ctx, children, OID_AUTO, 
+	    "coalesce_tx_enable",
+	    CTLFLAG_RW, &coalesce_tx_enable,
+	    0, "coalesce small packets in work requests - WARNING ALPHA");
+	SYSCTL_ADD_INT(ctx, children, OID_AUTO, 
 	    "cache_alloc",
 	    CTLFLAG_RD, &cxgb_cached_allocations,
 	    0, "#times a cluster was allocated from cache");


More information about the svn-src-user mailing list