IB/rdmavt: Support creating qps with GFP_NOIO flag
authorMike Marciniszyn <mike.marciniszyn@intel.com>
Fri, 22 Jan 2016 20:50:43 +0000 (12:50 -0800)
committerDoug Ledford <dledford@redhat.com>
Fri, 11 Mar 2016 01:37:20 +0000 (20:37 -0500)
commitd2b8d4da1ca5052b72e043d2ce68157abf3f2d24
tree37efdeca6a0225b1544696867c3505c34b51d4c2
parentfeaeb6e26fd15f6531e28f2900e0b59705bfc3d4
IB/rdmavt: Support creating qps with GFP_NOIO flag

The current code is problematic when the QP creation and ipoib is
used to support NFS and NFS desires to do IO for paging purposes.
In that case, the GFP_KERNEL allocation within create_qp causes
a deadlock in tight memory situations.

This fix adds support to create queue pair with GFP_NOIO flag for
connected mode only to cleanly fail the create queue pair in those
situations.

This was previously fixed in qib but needed to get ported to hfi1.
This patch handles that for both hardwares in the new rdmavt common
layer.

Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/sw/rdmavt/qp.c
include/rdma/rdma_vt.h