linux-stable/include/rdma
Jack Morgenstein 51b51a4c6b IB/core: Add an unbound WQ type to the new CQ API
commit f794809a72 upstream.

The upstream kernel commit cited below modified the workqueue in the
new CQ API to be bound to a specific CPU (instead of being unbound).
This caused ALL users of the new CQ API to use the same bound WQ.

Specifically, MAD handling was severely delayed when the CPU bound
to the WQ was busy handling (higher priority) interrupts.

This caused a delay in the MAD "heartbeat" response handling,
which resulted in ports being incorrectly classified as "down".

To fix this, add a new "unbound" WQ type to the new CQ API, so that users
have the option to choose either a bound WQ or an unbound WQ.

For MADs, choose the new "unbound" WQ.

Fixes: b7363e67b2 ("IB/device: Convert ib-comp-wq to be CPU-bound")
Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.m>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-10-05 12:47:32 +02:00
..
ib.h
ib_addr.h RDMA/ucma: Introduce safer rdma_addr_size() variants 2018-04-08 14:26:29 +02:00
ib_cache.h
ib_cm.h
ib_fmr_pool.h
ib_hdrs.h IB/hfi1: Add functions to parse BTH/IB headers 2017-06-27 16:56:33 -04:00
ib_mad.h IB/core: Enforce security on management datagrams 2017-05-23 12:27:21 -04:00
ib_marshall.h IB/core: Convert ah_attr from OPA to IB when copying to user 2017-08-08 14:47:18 -04:00
ib_pack.h IB/core: Fix calculation of maximum RoCE MTU 2017-12-20 10:10:35 +01:00
ib_pma.h
ib_sa.h RDMA/SA: Fix kernel panic in CMA request handler flow 2017-06-01 17:20:14 -04:00
ib_smi.h
ib_umem.h IB/umem: Use the correct mm during ib_umem_release 2018-05-30 07:51:49 +02:00
ib_umem_odp.h lib/interval_tree: fast overlap detection 2017-09-08 18:26:49 -07:00
ib_verbs.h IB/core: Add an unbound WQ type to the new CQ API 2019-10-05 12:47:32 +02:00
iw_cm.h
iw_portmap.h
mr_pool.h
opa_addr.h IB/hfi1: Add 16B UD support 2017-08-22 14:22:37 -04:00
opa_port_info.h
opa_smi.h
opa_vnic.h IB/hfi1: Add support to receive 16B bypass packets 2017-08-22 14:22:37 -04:00
rdma_cm.h
rdma_cm_ib.h
rdma_netlink.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rdma_vt.h IB/hfi1: Optimize kthread pointer locking when queuing CQ entries 2018-07-03 11:24:54 +02:00
rdmavt_cq.h
rdmavt_mr.h IB/rdmavt: Handle dereg of inuse MRs properly 2017-08-28 19:12:31 -04:00
rdmavt_qp.h IB/rdmavt: Handle dereg of inuse MRs properly 2017-08-28 19:12:31 -04:00
rw.h rdma core: Add rdma_rw_mr_payload() 2017-09-05 15:15:30 -04:00
uverbs_ioctl.h IB/core: Assign root to all drivers 2017-08-31 08:35:14 -04:00
uverbs_std_types.h IB/core: Assign root to all drivers 2017-08-31 08:35:14 -04:00
uverbs_types.h IB/core: Explicitly destroy an object while keeping uobject 2017-08-31 08:35:11 -04:00