Date: Fri, 21 Nov 2008 23:59:54 +0000 (UTC) From: Kip Macy <kmacy@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r185158 - user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb Message-ID: <200811212359.mALNxs5x099998@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811212359.mALNxs5x099998>