linux/drivers/infiniband/hw
Yishai Hadas 35f05dabf9 IB/mlx4: Reset flow support for IB kernel ULPs
The driver exposes interfaces that directly relate to HW state. Upon fatal
error, consumers of these interfaces (ULPs) that rely on completion of
all their posted work-request could hang, thereby introducing dependencies
in shutdown order.  To prevent this from happening, we manage the
relevant resources (CQs, QPs) that are used by the device. Upon a fatal error,
we now generate simulated completions for outstanding WQEs that were not
completed at the time the HW was reset.

It includes invoking the completion event handler for all involved CQs so that
the ULPs will poll those CQs. When polled we return simulated CQEs with
IB_WC_WR_FLUSH_ERR return code enabling ULPs to clean up their resources and
not wait forever for completions upon receiving remove_one.

The above change requires an extra check in the data path to make sure that when
device is in error state, the simulated CQEs will be returned and no further
WQEs will be posted.

Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-02-09 14:03:53 -08:00
..
amso1100 IB/core: Replace ib_umem's offset field with a full address 2014-12-15 18:13:35 -08:00
cxgb3 RDMA/cxgb3: Remove a couple unneeded conditions 2014-05-28 10:04:00 -07:00
cxgb4 iw_cxgb4: Cleanup register defines/MACROS defined in t4fw_ri_api.h 2015-01-16 01:07:02 -05:00
ehca IB/core: Replace ib_umem's offset field with a full address 2014-12-15 18:13:35 -08:00
ipath IB/core: Replace ib_umem's offset field with a full address 2014-12-15 18:13:35 -08:00
mlx4 IB/mlx4: Reset flow support for IB kernel ULPs 2015-02-09 14:03:53 -08:00
mlx5 infiniband: mlx5: avoid a compile-time warning 2015-01-13 17:08:21 -05:00
mthca IB/mad: add new ioctl to ABI to support new registration options 2014-08-10 20:36:00 -07:00
nes net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
ocrdma Merge branches 'core', 'cxgb4', 'ipoib', 'iser', 'mlx4', 'ocrdma', 'odp' and 'srp' into for-next 2014-12-15 18:19:20 -08:00
qib IB/core: Replace ib_umem's offset field with a full address 2014-12-15 18:13:35 -08:00
usnic IOMMU Updates for Linux v3.18 2014-10-15 07:23:49 +02:00
Makefile IB: Allow build of hw/ and ulp/ subdirectories independently 2014-06-02 14:51:12 -07:00