linux/include/rdma
Jack Morgenstein 2661d462aa 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-01 08:26:00 +02:00
..
ib_addr.h RDMA/core: Constify dst_addr argument 2018-07-30 20:49:04 -06:00
ib_cache.h RDMA/smc: Replace ib_query_gid with rdma_get_gid_attr 2018-08-17 16:45:51 -06:00
ib_cm.h RDMA/cma: Constify path record, ib_cm_event, listen_id pointers 2018-07-30 20:49:04 -06:00
ib_fmr_pool.h
ib_hdrs.h
ib_mad.h RDMA: Fix storage of PortInfo CapabilityMask in the kernel 2018-07-10 11:06:45 -06:00
ib_marshall.h
ib_pack.h
ib_pma.h
ib_sa.h IB/cm: Replace members of sa_path_rec with 'struct sgid_attr *' 2018-06-25 14:19:57 -06:00
ib_smi.h
ib_umem_odp.h mm, oom: distinguish blockable mode for mmu notifiers 2018-08-22 10:52:44 -07:00
ib_umem.h
ib_verbs.h IB/core: Add an unbound WQ type to the new CQ API 2019-10-01 08:26:00 +02:00
ib.h RDMA/core: Return bool instead of int 2018-07-30 20:49:04 -06:00
iw_cm.h
iw_portmap.h
mr_pool.h
opa_addr.h include/rdma/opa_addr.h: Fix an endianness issue 2018-07-03 14:11:34 -06:00
opa_port_info.h
opa_smi.h
opa_vnic.h
rdma_cm_ib.h
rdma_cm.h RDMA/core: Constify dst_addr argument 2018-07-30 20:49:04 -06:00
rdma_netlink.h
rdma_vt.h
rdmavt_cq.h
rdmavt_mr.h
rdmavt_qp.h IB/rdmavt, IB/hfi1: Create device dependent s_flags 2018-06-19 11:49:46 -06:00
restrack.h
rw.h
uverbs_ioctl.h IB/uverbs: Remove struct uverbs_root_spec and all supporting code 2018-08-13 09:17:19 -06:00
uverbs_named_ioctl.h IB/mlx5: Introduce driver create and destroy flow methods 2018-07-24 14:03:49 -06:00
uverbs_std_types.h IB/uverbs: Use uverbs_api to manage the object type inside the uobject 2018-08-10 16:06:24 -06:00
uverbs_types.h IB/uverbs: Use uverbs_api to manage the object type inside the uobject 2018-08-10 16:06:24 -06:00