Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Nov 2008 00:24:23 +0000 (UTC)
From:      Kip Macy <kmacy@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r185159 - user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb
Message-ID:  <200811220024.mAM0ONho000634@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kmacy
Date: Sat Nov 22 00:24:23 2008
New Revision: 185159
URL: http://svn.freebsd.org/changeset/base/185159

Log:
  although it ends up sucking up substantially more cpu waking up the transmit thread
  gives slightly better peak throughput

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	Fri Nov 21 23:59:54 2008	(r185158)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb/cxgb_multiq.c	Sat Nov 22 00:24:23 2008	(r185159)
@@ -89,6 +89,7 @@ __FBSDID("$FreeBSD$");
 extern int txq_fills;
 int multiq_tx_enable = 1;
 int coalesce_tx_enable = 0;
+int wakeup_tx_thread = 0;
 
 extern struct sysctl_oid_list sysctl__hw_cxgb_children;
 static int sleep_ticks = 1;
@@ -127,6 +128,9 @@ cxgb_pcpu_enqueue_packet_(struct sge_qse
 		txq->txq_drops++;
 		m_freem(m);
 	}
+	if (wakeup_tx_thread && ((txq->flags & TXQ_TRANSMITTING) == 0))
+		wakeup(qs);
+	
 	return (err);
 }
 

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	Fri Nov 21 23:59:54 2008	(r185158)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb/cxgb_sge.c	Sat Nov 22 00:24:23 2008	(r185159)
@@ -86,6 +86,7 @@ extern int nmbjumbo9;
 extern int nmbjumbo16;
 extern int multiq_tx_enable;
 extern int coalesce_tx_enable;
+extern int wakeup_tx_thread;
 
 #define USE_GTS 0
 
@@ -3377,6 +3378,10 @@ t3_add_attach_sysctls(adapter_t *sc)
 	    CTLFLAG_RW, &coalesce_tx_enable,
 	    0, "coalesce small packets in work requests - WARNING ALPHA");
 	SYSCTL_ADD_INT(ctx, children, OID_AUTO, 
+	    "wakeup_tx_thread",
+	    CTLFLAG_RW, &wakeup_tx_thread,
+	    0, "wakeup tx thread if no transmitter running");
+	SYSCTL_ADD_INT(ctx, children, OID_AUTO, 
 	    "cache_alloc",
 	    CTLFLAG_RD, &cxgb_cached_allocations,
 	    0, "#times a cluster was allocated from cache");



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811220024.mAM0ONho000634>