svn commit: r193415 - user/kmacy/releng_7_2_fcs/sys/dev/cxgb

Kip Macy kmacy at FreeBSD.org
Wed Jun 3 23:47:44 UTC 2009


Author: kmacy
Date: Wed Jun  3 23:47:43 2009
New Revision: 193415
URL: http://svn.freebsd.org/changeset/base/193415

Log:
  cleanup delayed reclaim handler

Modified:
  user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_sge.c

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	Wed Jun  3 23:33:09 2009	(r193414)
+++ user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_sge.c	Wed Jun  3 23:47:43 2009	(r193415)
@@ -873,23 +873,16 @@ refill_rspq(adapter_t *sc, const struct 
 		     V_RSPQ(q->cntxt_id) | V_CREDITS(credits));
 }
 
-static __inline void
-sge_txq_reclaim_(struct sge_txq *txq, int force)
-{
-
-	panic("unimplemented");
-}
-
 static void
 sge_txq_reclaim_handler(void *arg, int ncount)
 {
-	struct sge_txq *q = arg;
+	struct sge_qset *qs = arg;
+	int i;
 
-	sge_txq_reclaim_(q, TRUE);
+	for (i = 0; i < 3; i++)
+		reclaim_completed_tx(qs, 16, i);
 }
 
-
-
 static void
 sge_timer_reclaim(void *arg, int ncount)
 {
@@ -897,7 +890,6 @@ sge_timer_reclaim(void *arg, int ncount)
 	int i, nqsets = pi->nqsets;
 	adapter_t *sc = pi->adapter;
 	struct sge_qset *qs;
-	struct sge_txq *txq;
 	struct mtx *lock;
 
 #ifdef IFNET_MULTIQUEUE
@@ -906,9 +898,7 @@ sge_timer_reclaim(void *arg, int ncount)
 	for (i = 0; i < nqsets; i++) {
 		qs = &sc->sge.qs[pi->first_qset + i];
 
-		txq = &qs->txq[TXQ_OFLD];
-		sge_txq_reclaim_(txq, FALSE);
-		
+		reclaim_completed_tx(qs, 16, TXQ_OFLD);
 		lock = (sc->flags & USING_MSIX) ? &qs->rspq.lock :
 			    &sc->sge.qs[0].rspq.lock;
 
@@ -2455,8 +2445,8 @@ t3_sge_alloc_qset(adapter_t *sc, u_int i
 	
 	TASK_INIT(&q->txq[TXQ_OFLD].qresume_task, 0, restart_offloadq, q);
 	TASK_INIT(&q->txq[TXQ_CTRL].qresume_task, 0, restart_ctrlq, q);
-	TASK_INIT(&q->txq[TXQ_ETH].qreclaim_task, 0, sge_txq_reclaim_handler, &q->txq[TXQ_ETH]);
-	TASK_INIT(&q->txq[TXQ_OFLD].qreclaim_task, 0, sge_txq_reclaim_handler, &q->txq[TXQ_OFLD]);
+	TASK_INIT(&q->txq[TXQ_ETH].qreclaim_task, 0, sge_txq_reclaim_handler, q);
+	TASK_INIT(&q->txq[TXQ_OFLD].qreclaim_task, 0, sge_txq_reclaim_handler, q);
 
 	q->fl[0].gen = q->fl[1].gen = 1;
 	q->fl[0].size = p->fl_size;


More information about the svn-src-user mailing list