diff options
author | Jason Gunthorpe <jgg@mellanox.com> | 2018-05-28 11:44:35 -0600 |
---|---|---|
committer | Jason Gunthorpe <jgg@mellanox.com> | 2018-05-28 11:44:35 -0600 |
commit | 0394808d9ed5ca9d3595ca4d97ce79faf845ac77 (patch) | |
tree | fd183abcc31abe5baeaaabf0b00e2671e4b11ad9 /drivers/infiniband/sw | |
parent | bb42f87e2924e3b118aed3b3790ce792ae7bb86c (diff) | |
parent | d8f9cc328c8888369880e2527e9186d745f2bbf6 (diff) | |
download | linux-stable-0394808d9ed5ca9d3595ca4d97ce79faf845ac77.tar.gz linux-stable-0394808d9ed5ca9d3595ca4d97ce79faf845ac77.tar.bz2 linux-stable-0394808d9ed5ca9d3595ca4d97ce79faf845ac77.zip |
Merge branch 'mr_fix' into git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma for-next
Update mlx4 to support user MR creation against read-only memory, previously
it required the memory to be writable.
Based on rdma for-rc due to dependencies.
* mr_fix: (2 commits)
IB/mlx4: Mark user MR as writable if actual virtual memory is writable
IB/core: Make testing MR flags for writability a static inline function
Diffstat (limited to 'drivers/infiniband/sw')
-rw-r--r-- | drivers/infiniband/sw/rxe/rxe_verbs.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/drivers/infiniband/sw/rxe/rxe_verbs.c b/drivers/infiniband/sw/rxe/rxe_verbs.c index c5206148243c..9deafc3aa6af 100644 --- a/drivers/infiniband/sw/rxe/rxe_verbs.c +++ b/drivers/infiniband/sw/rxe/rxe_verbs.c @@ -761,7 +761,6 @@ static int rxe_post_send_kernel(struct rxe_qp *qp, struct ib_send_wr *wr, unsigned int mask; unsigned int length = 0; int i; - int must_sched; while (wr) { mask = wr_opcode_mask(wr->opcode, qp); @@ -791,14 +790,7 @@ static int rxe_post_send_kernel(struct rxe_qp *qp, struct ib_send_wr *wr, wr = wr->next; } - /* - * Must sched in case of GSI QP because ib_send_mad() hold irq lock, - * and the requester call ip_local_out_sk() that takes spin_lock_bh. - */ - must_sched = (qp_type(qp) == IB_QPT_GSI) || - (queue_count(qp->sq.queue) > 1); - - rxe_run_task(&qp->req.task, must_sched); + rxe_run_task(&qp->req.task, 1); if (unlikely(qp->req.state == QP_STATE_ERROR)) rxe_run_task(&qp->comp.task, 1); |