From owner-svn-src-user@FreeBSD.ORG Fri Jun 5 01:18:13 2009 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 26B7D1065670; Fri, 5 Jun 2009 01:18:13 +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 14AD58FC13; Fri, 5 Jun 2009 01:18:13 +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 n551IC4m010283; Fri, 5 Jun 2009 01:18:12 GMT (envelope-from kmacy@svn.freebsd.org) Received: (from kmacy@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n551ICKG010281; Fri, 5 Jun 2009 01:18:12 GMT (envelope-from kmacy@svn.freebsd.org) Message-Id: <200906050118.n551ICKG010281@svn.freebsd.org> From: Kip Macy Date: Fri, 5 Jun 2009 01:18:12 +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: r193479 - user/kmacy/releng_7_2_fcs/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, 05 Jun 2009 01:18:13 -0000 Author: kmacy Date: Fri Jun 5 01:18:12 2009 New Revision: 193479 URL: http://svn.freebsd.org/changeset/base/193479 Log: - fix callout check - remove dead assert - check for msix in timer (no rspq locking) - don't lock queue in msix interrupt Modified: user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_main.c user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_sge.c Modified: user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_main.c ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_main.c Fri Jun 5 01:00:28 2009 (r193478) +++ user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_main.c Fri Jun 5 01:18:12 2009 (r193479) @@ -2377,7 +2377,7 @@ cxgb_tick(void *arg) { adapter_t *sc = (adapter_t *)arg; - if ((sc->flags & CXGB_SHUTDOWN) || (sc->open_device_map == 0) + if ((sc->flags & CXGB_SHUTDOWN) || (sc->open_device_map == 0)) return; taskqueue_enqueue(sc->tq, &sc->tick_task); Modified: user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_sge.c ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_sge.c Fri Jun 5 01:00:28 2009 (r193478) +++ user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_sge.c Fri Jun 5 01:18:12 2009 (r193479) @@ -824,31 +824,33 @@ static void sge_timer_cb(void *arg) { adapter_t *sc = arg; -#ifndef IFNET_MULTIQUEUE - struct port_info *pi; - struct sge_qset *qs; - struct sge_txq *txq; - int i, j; - int reclaim_ofl, refill_rx; - - if (sc->open_device_map == 0) - return; - - for (i = 0; i < sc->params.nports; i++) { - pi = &sc->port[i]; - for (j = 0; j < pi->nqsets; j++) { - qs = &sc->sge.qs[pi->first_qset + j]; - txq = &qs->txq[0]; - reclaim_ofl = txq[TXQ_OFLD].processed - txq[TXQ_OFLD].cleaned; - refill_rx = ((qs->fl[0].credits < qs->fl[0].size) || - (qs->fl[1].credits < qs->fl[1].size)); - if (reclaim_ofl || refill_rx) { - taskqueue_enqueue(sc->tq, &pi->timer_reclaim_task); - break; + if ((sc->flags & USING_MSIX) == 0) { + + struct port_info *pi; + struct sge_qset *qs; + struct sge_txq *txq; + int i, j; + int reclaim_ofl, refill_rx; + + if (sc->open_device_map == 0) + return; + + for (i = 0; i < sc->params.nports; i++) { + pi = &sc->port[i]; + for (j = 0; j < pi->nqsets; j++) { + qs = &sc->sge.qs[pi->first_qset + j]; + txq = &qs->txq[0]; + reclaim_ofl = txq[TXQ_OFLD].processed - txq[TXQ_OFLD].cleaned; + refill_rx = ((qs->fl[0].credits < qs->fl[0].size) || + (qs->fl[1].credits < qs->fl[1].size)); + if (reclaim_ofl || refill_rx) { + taskqueue_enqueue(sc->tq, &pi->timer_reclaim_task); + break; + } } } } -#endif + if (sc->params.nports > 2) { int i; @@ -934,10 +936,9 @@ sge_timer_reclaim(void *arg, int ncount) adapter_t *sc = pi->adapter; struct sge_qset *qs; struct mtx *lock; - -#ifdef IFNET_MULTIQUEUE - panic("%s should not be called with multiqueue support\n", __FUNCTION__); -#endif + + KASSERT((sc->flags & USING_MSIX) == 0, + ("can't call timer reclaim for msi-x")); for (i = 0; i < nqsets; i++) { qs = &sc->sge.qs[pi->first_qset + i]; @@ -3101,13 +3102,8 @@ t3_intr_msix(void *data) adapter_t *adap = qs->port->adapter; struct sge_rspq *rspq = &qs->rspq; - mtx_lock(&rspq->lock); - { - - if (process_responses_gts(adap, rspq) == 0) - rspq->unhandled_irqs++; - mtx_unlock(&rspq->lock); - } + if (process_responses_gts(adap, rspq) == 0) + rspq->unhandled_irqs++; } #define QDUMP_SBUF_SIZE 32 * 400