svn commit: r304384 - stable/10/sys/dev/ntb

Alexander Motin mav at FreeBSD.org
Thu Aug 18 10:41:36 UTC 2016


Author: mav
Date: Thu Aug 18 10:41:34 2016
New Revision: 304384
URL: https://svnweb.freebsd.org/changeset/base/304384

Log:
  MFC r302489: Remove rx_completion_task taskqueue.
  
  It is not needed after RX lock removed in previous commit.

Modified:
  stable/10/sys/dev/ntb/ntb_transport.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/dev/ntb/ntb_transport.c
==============================================================================
--- stable/10/sys/dev/ntb/ntb_transport.c	Thu Aug 18 10:40:59 2016	(r304383)
+++ stable/10/sys/dev/ntb/ntb_transport.c	Thu Aug 18 10:41:34 2016	(r304384)
@@ -161,7 +161,6 @@ struct ntb_transport_qp {
 	struct ntb_queue_list	rx_pend_q;
 	/* ntb_rx_q_lock: synchronize access to rx_XXXX_q */
 	struct mtx		ntb_rx_q_lock;
-	struct task		rx_completion_task;
 	struct task		rxc_db_work;
 	caddr_t			rx_buff;
 	ntb_q_idx_t		rx_index;
@@ -274,7 +273,7 @@ static void ntb_memcpy_rx(struct ntb_tra
     struct ntb_queue_entry *entry, void *offset);
 static inline void ntb_rx_copy_callback(struct ntb_transport_qp *qp,
     void *data);
-static void ntb_complete_rxc(void *arg, int pending);
+static void ntb_complete_rxc(struct ntb_transport_qp *qp);
 static void ntb_transport_doorbell_callback(void *data, uint32_t vector);
 static void ntb_transport_event_callback(void *data);
 static void ntb_transport_link_work(void *arg);
@@ -501,7 +500,6 @@ ntb_transport_init_queue(struct ntb_tran
 	mtx_init(&qp->ntb_rx_q_lock, "ntb rx q", NULL, MTX_SPIN);
 	mtx_init(&qp->ntb_tx_free_q_lock, "ntb tx free q", NULL, MTX_SPIN);
 	mtx_init(&qp->tx_lock, "ntb transport tx", NULL, MTX_DEF);
-	TASK_INIT(&qp->rx_completion_task, 0, ntb_complete_rxc, qp);
 	TASK_INIT(&qp->rxc_db_work, 0, ntb_transport_rxc_db, qp);
 
 	STAILQ_INIT(&qp->rx_post_q);
@@ -523,7 +521,6 @@ ntb_transport_free_queue(struct ntb_tran
 
 	NTB_DB_SET_MASK(qp->ntb, 1ull << qp->qp_num);
 	taskqueue_drain(taskqueue_swi, &qp->rxc_db_work);
-	taskqueue_drain(taskqueue_swi, &qp->rx_completion_task);
 
 	qp->cb_data = NULL;
 	qp->rx_handler = NULL;
@@ -870,7 +867,7 @@ ntb_process_rxc(struct ntb_transport_qp 
 		entry->len = -EIO;
 		entry->flags |= NTBT_DESC_DONE_FLAG;
 
-		taskqueue_enqueue(taskqueue_swi, &qp->rx_completion_task);
+		ntb_complete_rxc(qp);
 	} else {
 		qp->rx_bytes += hdr->len;
 		qp->rx_pkts++;
@@ -912,13 +909,12 @@ ntb_rx_copy_callback(struct ntb_transpor
 
 	entry = data;
 	entry->flags |= NTBT_DESC_DONE_FLAG;
-	taskqueue_enqueue(taskqueue_swi, &qp->rx_completion_task);
+	ntb_complete_rxc(qp);
 }
 
 static void
-ntb_complete_rxc(void *arg, int pending)
+ntb_complete_rxc(struct ntb_transport_qp *qp)
 {
-	struct ntb_transport_qp *qp = arg;
 	struct ntb_queue_entry *entry;
 	struct mbuf *m;
 	unsigned len;


More information about the svn-src-all mailing list