svn commit: r304347 - stable/11/sys/dev/ntb

Alexander Motin mav at FreeBSD.org
Thu Aug 18 09:19:03 UTC 2016


Author: mav
Date: Thu Aug 18 09:19:01 2016
New Revision: 304347
URL: https://svnweb.freebsd.org/changeset/base/304347

Log:
  MFC r302486: Fix operation with multiple qps.

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

Modified: stable/11/sys/dev/ntb/ntb_transport.c
==============================================================================
--- stable/11/sys/dev/ntb/ntb_transport.c	Thu Aug 18 09:18:23 2016	(r304346)
+++ stable/11/sys/dev/ntb/ntb_transport.c	Thu Aug 18 09:19:01 2016	(r304347)
@@ -470,7 +470,7 @@ ntb_transport_init_queue(struct ntb_tran
 	qp->event_handler = NULL;
 	ntb_qp_link_down_reset(qp);
 
-	if (nt->qp_count % mw_count && mw_num + 1 < nt->qp_count / mw_count)
+	if (mw_num < nt->qp_count % mw_count)
 		num_qps_mw = nt->qp_count / mw_count + 1;
 	else
 		num_qps_mw = nt->qp_count / mw_count;
@@ -567,7 +567,7 @@ ntb_transport_create_queue(void *data, d
 	unsigned int free_queue;
 	int i;
 
-	free_queue = ffs_bit(&nt->qp_bitmap);
+	free_queue = ffs_bit(&nt->qp_bitmap_free);
 	if (free_queue == 0)
 		return (NULL);
 
@@ -612,7 +612,7 @@ ntb_transport_link_up(struct ntb_transpo
 
 	qp->client_ready = true;
 
-	ntb_printf(2, "qp client ready\n");
+	ntb_printf(2, "qp %d client ready\n", qp->qp_num);
 
 	if (nt->link_is_up)
 		callout_reset(&qp->link_work, 0, ntb_qp_link_work, qp);
@@ -1161,7 +1161,7 @@ ntb_transport_setup_qp_mw(struct ntb_tra
 	if (mw->virt_addr == NULL)
 		return (ENOMEM);
 
-	if (nt->qp_count % mw_count && mw_num + 1 < nt->qp_count / mw_count)
+	if (mw_num < nt->qp_count % mw_count)
 		num_qps_mw = nt->qp_count / mw_count + 1;
 	else
 		num_qps_mw = nt->qp_count / mw_count;
@@ -1211,7 +1211,7 @@ ntb_qp_link_work(void *arg)
 
 	/* See if the remote side is up */
 	if ((val & (1ull << qp->qp_num)) != 0) {
-		ntb_printf(2, "qp link up\n");
+		ntb_printf(2, "qp %d link up\n", qp->qp_num);
 		qp->link_is_up = true;
 
 		if (qp->event_handler != NULL)


More information about the svn-src-all mailing list