Date: Tue, 15 Oct 2019 11:11:21 +0000 (UTC) From: Hans Petter Selasky <hselasky@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r353546 - head/sys/ofed/drivers/infiniband/ulp/ipoib Message-ID: <201910151111.x9FBBLtk089153@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: hselasky Date: Tue Oct 15 11:11:21 2019 New Revision: 353546 URL: https://svnweb.freebsd.org/changeset/base/353546 Log: Fix missing epochification of the ipoib code after r353292. Sponsored by: Mellanox Technologies Modified: head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_multicast.c Modified: head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c ============================================================================== --- head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c Tue Oct 15 09:50:02 2019 (r353545) +++ head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c Tue Oct 15 11:11:21 2019 (r353546) @@ -845,6 +845,7 @@ static int ipoib_cm_rep_handler(struct ib_cm_id *cm_id struct ipoib_cm_tx *p = cm_id->context; struct ipoib_dev_priv *priv = p->priv; struct ipoib_cm_data *data = event->private_data; + struct epoch_tracker et; struct ifqueue mbqueue; struct ib_qp_attr qp_attr; int qp_attr_mask, ret; @@ -898,6 +899,7 @@ static int ipoib_cm_rep_handler(struct ib_cm_id *cm_id } spin_unlock_irq(&priv->lock); + NET_EPOCH_ENTER(et); for (;;) { struct ifnet *dev = p->priv->dev; _IF_DEQUEUE(&mbqueue, mb); @@ -908,6 +910,7 @@ static int ipoib_cm_rep_handler(struct ib_cm_id *cm_id ipoib_warn(priv, "dev_queue_xmit failed " "to requeue packet\n"); } + NET_EPOCH_EXIT(et); ret = ib_send_cm_rtu(cm_id, NULL, 0); if (ret) { Modified: head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c ============================================================================== --- head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Tue Oct 15 09:50:02 2019 (r353545) +++ head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Tue Oct 15 11:11:21 2019 (r353546) @@ -555,6 +555,7 @@ path_rec_completion(int status, struct ib_sa_path_rec struct ifnet *dev = priv->dev; struct ipoib_ah *ah = NULL; struct ipoib_ah *old_ah = NULL; + struct epoch_tracker et; struct ifqueue mbqueue; struct mbuf *mb; unsigned long flags; @@ -609,6 +610,7 @@ path_rec_completion(int status, struct ib_sa_path_rec if (old_ah) ipoib_put_ah(old_ah); + NET_EPOCH_ENTER(et); for (;;) { _IF_DEQUEUE(&mbqueue, mb); if (mb == NULL) @@ -618,6 +620,7 @@ path_rec_completion(int status, struct ib_sa_path_rec ipoib_warn(priv, "dev_queue_xmit failed " "to requeue packet\n"); } + NET_EPOCH_EXIT(et); } static struct ipoib_path * @@ -1482,6 +1485,8 @@ ipoib_output(struct ifnet *ifp, struct mbuf *m, struct ipoib_header *eh; int error = 0, is_gw = 0; short type; + + NET_EPOCH_ASSERT(); if (ro != NULL) is_gw = (ro->ro_flags & RT_HAS_GW) != 0; Modified: head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_multicast.c ============================================================================== --- head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_multicast.c Tue Oct 15 09:50:02 2019 (r353545) +++ head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_multicast.c Tue Oct 15 11:11:21 2019 (r353546) @@ -157,6 +157,7 @@ static int ipoib_mcast_join_finish(struct ipoib_mcast struct ipoib_dev_priv *priv = mcast->priv; struct ifnet *dev = priv->dev; struct ipoib_ah *ah; + struct epoch_tracker et; int ret; int set_qkey = 0; @@ -227,6 +228,8 @@ static int ipoib_mcast_join_finish(struct ipoib_mcast } } + NET_EPOCH_ENTER(et); + /* actually send any queued packets */ while (mcast->pkt_queue.ifq_len) { struct mbuf *mb; @@ -237,6 +240,7 @@ static int ipoib_mcast_join_finish(struct ipoib_mcast ipoib_warn(priv, "dev_queue_xmit failed to requeue packet\n"); } + NET_EPOCH_EXIT(et); return 0; }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201910151111.x9FBBLtk089153>