]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
IB/qib: Support creating qps with GFP_NOIO flag
authorVinit Agnihotri <vinit.abhay.agnihotri@intel.com>
Mon, 11 Jan 2016 17:57:25 +0000 (12:57 -0500)
committerSasha Levin <sasha.levin@oracle.com>
Wed, 3 Feb 2016 21:23:20 +0000 (16:23 -0500)
commit34d7d523ecaa8c7a6857f97fd251e95e628aa17e
treeac81a7f3da9b5d987cf566b98fc890d41d85b647
parentdfaff0ef0343ba85ba3bac69a6547701425c0242
IB/qib: Support creating qps with GFP_NOIO flag

[ Upstream commit fbbeb8632bf0b46ab44cfcedc4654cd7831b7161 ]

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 in qib_qp.c 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.

Cc: <stable@vger.kernel.org> # 3.16+
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Vinit Agnihotri <vinit.abhay.agnihotri@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/infiniband/hw/qib/qib_qp.c