From owner-svn-src-user@FreeBSD.ORG Fri Nov 21 23:59:54 2008 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A2764106564A; Fri, 21 Nov 2008 23:59:54 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8A8248FC14; Fri, 21 Nov 2008 23:59:54 +0000 (UTC) (envelope-from kmacy@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id mALNxsHl000100; Fri, 21 Nov 2008 23:59:54 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id mALNxs5x099998; Fri, 21 Nov 2008 23:59:54 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200811212359.mALNxs5x099998@svn.freebsd.org> From: Kip Macy Date: Fri, 21 Nov 2008 23:59:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r185158 - user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Nov 2008 23:59:54 -0000 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); }