Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Nov 2008 06:01:05 +0000 (UTC)
From:      Kip Macy <kmacy@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r185149 - user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb
Message-ID:  <200811210601.mAL615QN075918@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kmacy
Date: Fri Nov 21 06:01:05 2008
New Revision: 185149
URL: http://svn.freebsd.org/changeset/base/185149

Log:
  enable ALTQ support using ifp's sendq

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 04:49:15 2008	(r185148)
+++ user/kmacy/HEAD_fast_multi_xmit/sys/dev/cxgb/cxgb_multiq.c	Fri Nov 21 06:01:05 2008	(r185149)
@@ -148,7 +148,11 @@ cxgb_pcpu_enqueue_packet(struct ifnet *i
 	qidx = 0;
 #endif	    
 	qs = &pi->adapter->sge.qs[qidx];
-	err = cxgb_pcpu_enqueue_packet_(qs, m);
+	if (ALTQ_IS_ENABLED(&ifp->if_snd)) {
+		IFQ_ENQUEUE(&ifp->if_snd, m, err);
+	} else {
+		err = cxgb_pcpu_enqueue_packet_(qs, m);
+	}
 	return (err);
 }
 
@@ -174,7 +178,15 @@ cxgb_dequeue_packet(struct sge_txq *txq,
 	m_vec[0] = m;
 	return (1);
 #endif
-
+	if (ALTQ_ENABLED(&pi->ifp->if_snd)) {
+		IFQ_DRV_DEQUEUE(&pi->ifp->if_snd, m);
+		if (m == NULL)
+			return (0);
+	
+		m_vec[0] = m;
+		return (1);		
+	}
+	
 	mtx_assert(&txq->lock, MA_OWNED);
 	coalesced = count = size = 0;
 	qs = txq_to_qset(txq, TXQ_ETH);
@@ -294,7 +306,8 @@ cxgb_pcpu_start_(struct sge_qset *qs, st
 		initerr = ENXIO;
 	else if (immpkt) {
 
-		if (!buf_ring_empty(txq->txq_mr)) 
+		if (!buf_ring_empty(txq->txq_mr)
+		    || ALTQ_ENABLED(&pi->ifp->if_snd)) 
 			initerr = cxgb_pcpu_enqueue_packet_(qs, immpkt);
 		else
 			txq->immpkt = immpkt;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811210601.mAL615QN075918>