diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-09-21 13:26:24 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-09-21 13:26:24 -0400 |
commit | 018c6837f3e63b45163d55a1668d9f8e6fdecf6e (patch) | |
tree | 0d960bf956f07b2dc0302acd276061ac0f61102e /net | |
parent | 84da111de0b4be15bd500deff773f5116f39f7be (diff) | |
parent | 3eca7fc2d8d1275d9cf0c709f0937becbfcf6d96 (diff) |
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
Pull RDMA subsystem updates from Jason Gunthorpe:
"This cycle mainly saw lots of bug fixes and clean up code across the
core code and several drivers, few new functional changes were made.
- Many cleanup and bug fixes for hns
- Various small bug fixes and cleanups in hfi1, mlx5, usnic, qed,
bnxt_re, efa
- Share the query_port code between all the iWarp drivers
- General rework and cleanup of the ODP MR umem code to fit better
with the mmu notifier get/put scheme
- Support rdma netlink in non init_net name spaces
- mlx5 support for XRC devx and DC ODP"
* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (99 commits)
RDMA: Fix double-free in srq creation error flow
RDMA/efa: Fix incorrect error print
IB/mlx5: Free mpi in mp_slave mode
IB/mlx5: Use the original address for the page during free_pages
RDMA/bnxt_re: Fix spelling mistake "missin_resp" -> "missing_resp"
RDMA/hns: Package operations of rq inline buffer into separate functions
RDMA/hns: Optimize cmd init and mode selection for hip08
IB/hfi1: Define variables as unsigned long to fix KASAN warning
IB/{rdmavt, hfi1, qib}: Add a counter for credit waits
IB/hfi1: Add traces for TID RDMA READ
RDMA/siw: Relax from kmap_atomic() use in TX path
IB/iser: Support up to 16MB data transfer in a single command
RDMA/siw: Fix page address mapping in TX path
RDMA: Fix goto target to release the allocated memory
RDMA/usnic: Avoid overly large buffers on stack
RDMA/odp: Add missing cast for 32 bit
RDMA/hns: Use devm_platform_ioremap_resource() to simplify code
Documentation/infiniband: update name of some functions
RDMA/cma: Fix false error message
RDMA/hns: Fix wrong assignment of qp_access_flags
...
Diffstat (limited to 'net')
-rw-r--r-- | net/9p/trans_rdma.c | 6 | ||||
-rw-r--r-- | net/sunrpc/xprtrdma/svc_rdma_transport.c | 8 | ||||
-rw-r--r-- | net/sunrpc/xprtrdma/verbs.c | 13 |
3 files changed, 13 insertions, 14 deletions
diff --git a/net/9p/trans_rdma.c b/net/9p/trans_rdma.c index bac8dad5dd69..b21c3c209815 100644 --- a/net/9p/trans_rdma.c +++ b/net/9p/trans_rdma.c | |||
@@ -685,9 +685,9 @@ rdma_create_trans(struct p9_client *client, const char *addr, char *args) | |||
685 | goto error; | 685 | goto error; |
686 | 686 | ||
687 | /* Create the Completion Queue */ | 687 | /* Create the Completion Queue */ |
688 | rdma->cq = ib_alloc_cq(rdma->cm_id->device, client, | 688 | rdma->cq = ib_alloc_cq_any(rdma->cm_id->device, client, |
689 | opts.sq_depth + opts.rq_depth + 1, | 689 | opts.sq_depth + opts.rq_depth + 1, |
690 | 0, IB_POLL_SOFTIRQ); | 690 | IB_POLL_SOFTIRQ); |
691 | if (IS_ERR(rdma->cq)) | 691 | if (IS_ERR(rdma->cq)) |
692 | goto error; | 692 | goto error; |
693 | 693 | ||
diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c index 3fe665152d95..4d3db6ee7f09 100644 --- a/net/sunrpc/xprtrdma/svc_rdma_transport.c +++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c | |||
@@ -454,14 +454,14 @@ static struct svc_xprt *svc_rdma_accept(struct svc_xprt *xprt) | |||
454 | dprintk("svcrdma: error creating PD for connect request\n"); | 454 | dprintk("svcrdma: error creating PD for connect request\n"); |
455 | goto errout; | 455 | goto errout; |
456 | } | 456 | } |
457 | newxprt->sc_sq_cq = ib_alloc_cq(dev, newxprt, newxprt->sc_sq_depth, | 457 | newxprt->sc_sq_cq = ib_alloc_cq_any(dev, newxprt, newxprt->sc_sq_depth, |
458 | 0, IB_POLL_WORKQUEUE); | 458 | IB_POLL_WORKQUEUE); |
459 | if (IS_ERR(newxprt->sc_sq_cq)) { | 459 | if (IS_ERR(newxprt->sc_sq_cq)) { |
460 | dprintk("svcrdma: error creating SQ CQ for connect request\n"); | 460 | dprintk("svcrdma: error creating SQ CQ for connect request\n"); |
461 | goto errout; | 461 | goto errout; |
462 | } | 462 | } |
463 | newxprt->sc_rq_cq = ib_alloc_cq(dev, newxprt, rq_depth, | 463 | newxprt->sc_rq_cq = |
464 | 0, IB_POLL_WORKQUEUE); | 464 | ib_alloc_cq_any(dev, newxprt, rq_depth, IB_POLL_WORKQUEUE); |
465 | if (IS_ERR(newxprt->sc_rq_cq)) { | 465 | if (IS_ERR(newxprt->sc_rq_cq)) { |
466 | dprintk("svcrdma: error creating RQ CQ for connect request\n"); | 466 | dprintk("svcrdma: error creating RQ CQ for connect request\n"); |
467 | goto errout; | 467 | goto errout; |
diff --git a/net/sunrpc/xprtrdma/verbs.c b/net/sunrpc/xprtrdma/verbs.c index 805b1f35e1ca..b10aa16557f0 100644 --- a/net/sunrpc/xprtrdma/verbs.c +++ b/net/sunrpc/xprtrdma/verbs.c | |||
@@ -521,18 +521,17 @@ int rpcrdma_ep_create(struct rpcrdma_xprt *r_xprt) | |||
521 | init_waitqueue_head(&ep->rep_connect_wait); | 521 | init_waitqueue_head(&ep->rep_connect_wait); |
522 | ep->rep_receive_count = 0; | 522 | ep->rep_receive_count = 0; |
523 | 523 | ||
524 | sendcq = ib_alloc_cq(ia->ri_id->device, NULL, | 524 | sendcq = ib_alloc_cq_any(ia->ri_id->device, NULL, |
525 | ep->rep_attr.cap.max_send_wr + 1, | 525 | ep->rep_attr.cap.max_send_wr + 1, |
526 | ia->ri_id->device->num_comp_vectors > 1 ? 1 : 0, | 526 | IB_POLL_WORKQUEUE); |
527 | IB_POLL_WORKQUEUE); | ||
528 | if (IS_ERR(sendcq)) { | 527 | if (IS_ERR(sendcq)) { |
529 | rc = PTR_ERR(sendcq); | 528 | rc = PTR_ERR(sendcq); |
530 | goto out1; | 529 | goto out1; |
531 | } | 530 | } |
532 | 531 | ||
533 | recvcq = ib_alloc_cq(ia->ri_id->device, NULL, | 532 | recvcq = ib_alloc_cq_any(ia->ri_id->device, NULL, |
534 | ep->rep_attr.cap.max_recv_wr + 1, | 533 | ep->rep_attr.cap.max_recv_wr + 1, |
535 | 0, IB_POLL_WORKQUEUE); | 534 | IB_POLL_WORKQUEUE); |
536 | if (IS_ERR(recvcq)) { | 535 | if (IS_ERR(recvcq)) { |
537 | rc = PTR_ERR(recvcq); | 536 | rc = PTR_ERR(recvcq); |
538 | goto out2; | 537 | goto out2; |