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

Kip Macy kmacy at FreeBSD.org
Fri Nov 21 15:59:54 PST 2008


Author: kmacy
Date: Fri Nov 21 23:59:54 2008
New Revision: 185158
URL: http://svn.freebsd.org/changeset/base/185158

Log:
  - Dramatically reduce the number of context switches by not calling wakeup
  In practice the worst case extra millisecond we wait for the service thread
  to push out stragglers rarely hurts.

Modified:
  user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb/cxgb_multiq.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 19:22:25 2008	(r185157)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb/cxgb_multiq.c	Fri Nov 21 23:59:54 2008	(r185158)
@@ -127,9 +127,6 @@ cxgb_pcpu_enqueue_packet_(struct sge_qse
 		txq->txq_drops++;
 		m_freem(m);
 	}
-	if ((qs->txq[TXQ_ETH].flags & TXQ_TRANSMITTING) == 0)
-		wakeup(qs);
-
 	return (err);
 }
 
@@ -415,10 +412,6 @@ cxgb_pcpu_transmit(struct ifnet *ifp, st
 			    sc->tunq_coalesce, buf_ring_count(txq->txq_mr), mtx_owned(&txq->lock));
 		err = cxgb_pcpu_enqueue_packet_(qs, immpkt);
 	}
-	
-	if (resid && (txq->flags & TXQ_TRANSMITTING) == 0)
-		wakeup(qs);
-
 	return ((err == ENOSPC) ? 0 : err);
 }
 


More information about the svn-src-user mailing list