From owner-svn-src-all@FreeBSD.ORG Thu Feb 7 02:15:26 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B72CD16D; Thu, 7 Feb 2013 02:15:26 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 91A31AEC; Thu, 7 Feb 2013 02:15:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r172FQoD059173; Thu, 7 Feb 2013 02:15:26 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r172FPcw059169; Thu, 7 Feb 2013 02:15:25 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201302070215.r172FPcw059169@svn.freebsd.org> From: Adrian Chadd Date: Thu, 7 Feb 2013 02:15:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r246450 - head/sys/dev/ath X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Feb 2013 02:15:26 -0000 Author: adrian Date: Thu Feb 7 02:15:25 2013 New Revision: 246450 URL: http://svnweb.freebsd.org/changeset/base/246450 Log: Methodize the process of adding the software TX queue to the taskqueue. Move it (for now) to the TX taskqueue. Modified: head/sys/dev/ath/if_ath.c head/sys/dev/ath/if_ath_misc.h head/sys/dev/ath/if_ath_tx.c head/sys/dev/ath/if_ath_tx_edma.c Modified: head/sys/dev/ath/if_ath.c ============================================================================== --- head/sys/dev/ath/if_ath.c Thu Feb 7 00:48:42 2013 (r246449) +++ head/sys/dev/ath/if_ath.c Thu Feb 7 02:15:25 2013 (r246450) @@ -4230,9 +4230,9 @@ ath_tx_processq(struct ath_softc *sc, st ieee80211_ff_flush(ic, txq->axq_ac); #endif - /* Kick the TXQ scheduler */ + /* Kick the software TXQ scheduler */ if (dosched) { - taskqueue_enqueue(sc->sc_tx_tq, &sc->sc_txqtask); + ath_tx_swq_kick(sc); } ATH_KTR(sc, ATH_KTR_TXCOMP, 1, Modified: head/sys/dev/ath/if_ath_misc.h ============================================================================== --- head/sys/dev/ath/if_ath_misc.h Thu Feb 7 00:48:42 2013 (r246449) +++ head/sys/dev/ath/if_ath_misc.h Thu Feb 7 02:15:25 2013 (r246450) @@ -120,12 +120,24 @@ extern void ath_tx_update_tim(struct ath extern void ath_start(struct ifnet *ifp); extern void ath_start_task(void *arg, int npending); +/* + * Kick the frame TX task. + */ static inline void ath_tx_kick(struct ath_softc *sc) { - /* XXX eventually try sc_tx_tq? */ taskqueue_enqueue(sc->sc_tx_tq, &sc->sc_txpkttask); } +/* + * Kick the software TX queue task. + */ +static inline void +ath_tx_swq_kick(struct ath_softc *sc) +{ + + taskqueue_enqueue(sc->sc_tx_tq, &sc->sc_txqtask); +} + #endif Modified: head/sys/dev/ath/if_ath_tx.c ============================================================================== --- head/sys/dev/ath/if_ath_tx.c Thu Feb 7 00:48:42 2013 (r246449) +++ head/sys/dev/ath/if_ath_tx.c Thu Feb 7 02:15:25 2013 (r246450) @@ -2999,9 +2999,11 @@ ath_tx_tid_resume(struct ath_softc *sc, } ath_tx_tid_sched(sc, tid); - /* Punt some frames to the hardware if needed */ - //ath_txq_sched(sc, sc->sc_ac2q[tid->ac]); - taskqueue_enqueue(sc->sc_tx_tq, &sc->sc_txqtask); + + /* + * Queue the software TX scheduler. + */ + ath_tx_swq_kick(sc); } /* Modified: head/sys/dev/ath/if_ath_tx_edma.c ============================================================================== --- head/sys/dev/ath/if_ath_tx_edma.c Thu Feb 7 00:48:42 2013 (r246449) +++ head/sys/dev/ath/if_ath_tx_edma.c Thu Feb 7 02:15:25 2013 (r246450) @@ -655,7 +655,7 @@ ath_edma_tx_processq(struct ath_softc *s * the txq task for _one_ TXQ. This should be fixed. */ if (dosched) - taskqueue_enqueue(sc->sc_tx_tq, &sc->sc_txqtask); + ath_tx_swq_kick(sc); } static void