linux/drivers/infiniband/core
Yishai Hadas 36f30e486d IB/core: Improve ODP to use hmm_range_fault()
Move to use hmm_range_fault() instead of get_user_pags_remote() to improve
performance in a few aspects:

This includes:
- Dropping the need to allocate and free memory to hold its output

- No need any more to use put_page() to unpin the pages

- The logic to detect contiguous pages is done based on the returned
  order, no need to run per page and evaluate.

In addition, moving to use hmm_range_fault() enables to reduce page faults
in the system with it's snapshot mode, this will be introduced in next
patches from this series.

As part of this, cleanup some flows and use the required data structures
to work with hmm_range_fault().

Link: https://lore.kernel.org/r/20200930163828.1336747-2-leon@kernel.org
Signed-off-by: Yishai Hadas <yishaih@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2020-10-01 16:39:54 -03:00
..
addr.c RDMA/addr: Fix race with netevent_callback()/rdma_addr_cancel() 2020-09-30 15:29:05 -03:00
agent.c
agent.h
cache.c RDMA/core: Allocate the pkey cache only if the pkey_tbl_len is set 2020-07-20 16:18:16 -03:00
cgroup.c
cm.c Linux 5.9-rc3 2020-08-31 12:28:12 -03:00
cm_msgs.h
cm_trace.c RDMA/cm: Replace pr_debug() call sites with tracepoints 2020-08-24 19:41:41 -03:00
cm_trace.h RDMA/cm: Add tracepoints to track MAD send operations 2020-08-24 19:41:41 -03:00
cma.c RDMA/restrack: Improve readability in task name management 2020-09-22 19:47:35 -03:00
cma_configfs.c
cma_priv.h
cma_trace.c
cma_trace.h RDMA/core: Move the rdma_show_ib_cm_event() macro 2020-08-24 16:01:47 -03:00
core_priv.h RDMA/restrack: Improve readability in task name management 2020-09-22 19:47:35 -03:00
counters.c RDMA/restrack: Improve readability in task name management 2020-09-22 19:47:35 -03:00
cq.c RDMA/restrack: Improve readability in task name management 2020-09-22 19:47:35 -03:00
device.c RDMA: Convert RWQ table logic to ib_core allocation scheme 2020-09-17 14:04:33 -03:00
ib_core_uverbs.c
iwcm.c
iwcm.h
iwpm_msg.c
iwpm_util.c
iwpm_util.h
lag.c
mad.c RDMA 5.9 merge window pull request 2020-08-06 16:43:36 -07:00
mad_priv.h IB/mad: Change atomics to refcount API 2020-06-24 16:43:45 -03:00
mad_rmpp.c IB/mad: Delete RMPP_STATE_CANCELING state 2020-06-24 16:43:45 -03:00
mad_rmpp.h
Makefile RDMA/cm: Replace pr_debug() call sites with tracepoints 2020-08-24 19:41:41 -03:00
mr_pool.c
multicast.c
netlink.c
nldev.c RDMA/netlink: Remove CAP_NET_RAW check when dump a raw QP 2020-07-29 15:51:19 -03:00
opa_smi.h
packer.c
rdma_core.c RDMA/core: Remove ucontext->closing 2020-09-30 15:27:19 -03:00
rdma_core.h
restrack.c RDMA/restrack: Improve readability in task name management 2020-09-22 19:47:35 -03:00
restrack.h RDMA/restrack: Improve readability in task name management 2020-09-22 19:47:35 -03:00
roce_gid_mgmt.c
rw.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
sa.h
sa_query.c IB/sa: Resolv use-after-free in ib_nl_make_request() 2020-07-02 16:05:12 -03:00
security.c
smi.c
smi.h
sysfs.c RDMA/core: Expose pkeys sysfs files only if pkey_tbl_len is set 2020-07-20 16:18:16 -03:00
trace.c RDMA/core: Clean up tracepoint headers 2020-07-06 14:54:46 -03:00
ucma.c RDMA/restrack: Improve readability in task name management 2020-09-22 19:47:35 -03:00
ud_header.c
umem.c RDMA/mlx4: Use ib_umem_num_dma_blocks() 2020-09-11 10:24:54 -03:00
umem_odp.c IB/core: Improve ODP to use hmm_range_fault() 2020-10-01 16:39:54 -03:00
user_mad.c
uverbs.h
uverbs_cmd.c RDMA/core: Align write and ioctl checks of QP types 2020-09-29 13:11:06 -03:00
uverbs_ioctl.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
uverbs_main.c RDMA: Clean MW allocation and free flows 2020-09-17 14:04:32 -03:00
uverbs_marshall.c
uverbs_std_types.c RDMA: Convert RWQ table logic to ib_core allocation scheme 2020-09-17 14:04:33 -03:00
uverbs_std_types_async_fd.c
uverbs_std_types_counters.c RDMA: Make counters destroy symmetrical 2020-09-09 14:14:29 -03:00
uverbs_std_types_cq.c RDMA/restrack: Improve readability in task name management 2020-09-22 19:47:35 -03:00
uverbs_std_types_device.c RDMA: Fix link active_speed size 2020-09-18 10:31:24 -03:00
uverbs_std_types_dm.c
uverbs_std_types_flow_action.c
uverbs_std_types_mr.c RDMA/mlx5: Add missing srcu_read_lock in ODP implicit flow 2020-07-24 16:44:06 -03:00
uverbs_std_types_qp.c
uverbs_std_types_srq.c
uverbs_std_types_wq.c RDMA: Restore ability to return error for destroy WQ 2020-09-09 14:14:29 -03:00
uverbs_uapi.c
verbs.c RDMA/restrack: Improve readability in task name management 2020-09-22 19:47:35 -03:00