mirror of
https://github.com/torvalds/linux.git
synced 2024-12-27 05:11:48 +00:00
8ada2c1c0c
* Extend the umem struct to keep the ODP related data. * Allocate and initialize the ODP related information in the umem (page_list, dma_list) and freeing as needed in the end of the run. * Store a reference to the process PID struct in the ucontext. Used to safely obtain the task_struct and the mm during fault handling, without preventing the task destruction if needed. * Add 2 helper functions: ib_umem_odp_map_dma_pages and ib_umem_odp_unmap_dma_pages. These functions get the DMA addresses of specific pages of the umem (and, currently, pin them). * Support for page faults only - IB core will keep the reference on the pages used and call put_page when freeing an ODP umem area. Invalidations support will be added in a later patch. Signed-off-by: Sagi Grimberg <sagig@mellanox.com> Signed-off-by: Shachar Raindel <raindel@mellanox.com> Signed-off-by: Haggai Eran <haggaie@mellanox.com> Signed-off-by: Majd Dibbiny <majd@mellanox.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
35 lines
890 B
Makefile
35 lines
890 B
Makefile
infiniband-$(CONFIG_INFINIBAND_ADDR_TRANS) := rdma_cm.o
|
|
user_access-$(CONFIG_INFINIBAND_ADDR_TRANS) := rdma_ucm.o
|
|
|
|
obj-$(CONFIG_INFINIBAND) += ib_core.o ib_mad.o ib_sa.o \
|
|
ib_cm.o iw_cm.o ib_addr.o \
|
|
$(infiniband-y)
|
|
obj-$(CONFIG_INFINIBAND_USER_MAD) += ib_umad.o
|
|
obj-$(CONFIG_INFINIBAND_USER_ACCESS) += ib_uverbs.o ib_ucm.o \
|
|
$(user_access-y)
|
|
|
|
ib_core-y := packer.o ud_header.o verbs.o sysfs.o \
|
|
device.o fmr_pool.o cache.o netlink.o
|
|
ib_core-$(CONFIG_INFINIBAND_USER_MEM) += umem.o
|
|
ib_core-$(CONFIG_INFINIBAND_ON_DEMAND_PAGING) += umem_odp.o
|
|
|
|
ib_mad-y := mad.o smi.o agent.o mad_rmpp.o
|
|
|
|
ib_sa-y := sa_query.o multicast.o
|
|
|
|
ib_cm-y := cm.o
|
|
|
|
iw_cm-y := iwcm.o iwpm_util.o iwpm_msg.o
|
|
|
|
rdma_cm-y := cma.o
|
|
|
|
rdma_ucm-y := ucma.o
|
|
|
|
ib_addr-y := addr.o
|
|
|
|
ib_umad-y := user_mad.o
|
|
|
|
ib_ucm-y := ucm.o
|
|
|
|
ib_uverbs-y := uverbs_main.o uverbs_cmd.o uverbs_marshall.o
|