linux_dsm_epyc7002/net/sunrpc/xprtrdma
Chuck Lever 20cf4e0267 rdma: Enable ib_alloc_cq to spread work over a device's comp_vectors
Send and Receive completion is handled on a single CPU selected at
the time each Completion Queue is allocated. Typically this is when
an initiator instantiates an RDMA transport, or when a target
accepts an RDMA connection.

Some ULPs cannot open a connection per CPU to spread completion
workload across available CPUs and MSI vectors. For such ULPs,
provide an API that allows the RDMA core to select a completion
vector based on the device's complement of available comp_vecs.

ULPs that invoke ib_alloc_cq() with only comp_vector 0 are converted
to use the new API so that their completion workloads interfere less
with each other.

Suggested-by: Håkon Bugge <haakon.bugge@oracle.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
Cc: <linux-cifs@vger.kernel.org>
Cc: <v9fs-developer@lists.sourceforge.net>
Link: https://lore.kernel.org/r/20190729171923.13428.52555.stgit@manet.1015granger.net
Signed-off-by: Doug Ledford <dledford@redhat.com>
2019-08-05 11:50:32 -04:00
..
backchannel.c SUNRPC: Fix up backchannel slot table accounting 2019-07-18 01:12:59 -04:00
frwr_ops.c xprtrdma: Reduce context switching due to Local Invalidation 2019-07-09 10:30:25 -04:00
Makefile xprtrdma: Remove support for FMR memory registration 2019-01-02 12:05:17 -05:00
module.c NFS client updates for Linux 4.18 2018-06-12 10:09:03 -07:00
rpc_rdma.c Merge tag 'nfs-rdma-for-5.3-1' of git://git.linux-nfs.org/projects/anna/linux-nfs 2019-07-12 12:11:01 -04:00
svc_rdma_backchannel.c SUNRPC: Remove the bh-safe lock requirement on xprt->transport_lock 2019-07-06 14:54:48 -04:00
svc_rdma_recvfrom.c svcrdma: Remove syslog warnings in work completion handlers 2019-02-06 15:37:15 -05:00
svc_rdma_rw.c scsi: lib/sg_pool.c: improve APIs for allocating sg pool 2019-06-20 15:21:33 -04:00
svc_rdma_sendto.c svcrdma: Remove syslog warnings in work completion handlers 2019-02-06 15:37:15 -05:00
svc_rdma_transport.c rdma: Enable ib_alloc_cq to spread work over a device's comp_vectors 2019-08-05 11:50:32 -04:00
svc_rdma.c sunrpc: remove svc_rdma_bc_class 2018-12-27 21:01:41 -05:00
transport.c Merge branch 'akpm' (patches from Andrew) 2019-07-19 09:45:58 -07:00
verbs.c rdma: Enable ib_alloc_cq to spread work over a device's comp_vectors 2019-08-05 11:50:32 -04:00
xprt_rdma.h SUNRPC: Fix up backchannel slot table accounting 2019-07-18 01:12:59 -04:00