kernel_optimize_test/include
Jason Gunthorpe a665aca89a RDMA/umem: Split ib_umem_num_pages() into ib_umem_num_dma_blocks()
ib_umem_num_pages() should only be used by things working with the SGL in
CPU pages directly.

Drivers building DMA lists should use the new ib_num_dma_blocks() which
returns the number of blocks rdma_umem_for_each_block() will return.

To make this general for DMA drivers requires a different implementation.
Computing DMA block count based on umem->address only works if the
requested page size is < PAGE_SIZE and/or the IOVA == umem->address.

Instead the number of DMA pages should be computed in the IOVA address
space, not umem->address. Thus the IOVA has to be stored inside the umem
so it can be used for these calculations.

For now set it to umem->address by default and fix it up if
ib_umem_find_best_pgsz() was called. This allows drivers to be converted
to ib_umem_num_dma_blocks() safely.

Link: https://lore.kernel.org/r/6-v2-270386b7e60b+28f4-umem_1_jgg@nvidia.com
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2020-09-11 10:24:53 -03:00
..
acpi
asm-generic
clocksource
crypto
drm Linux 5.9-rc2 2020-08-25 11:00:02 +02:00
dt-bindings
keys
kunit
kvm
linux Linux 5.9-rc3 2020-08-31 12:28:12 -03:00
math-emu treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
media
memory
misc
net ipv6: some fixes for ipv6_dev_find() 2020-08-18 15:58:53 -07:00
pcmcia
ras
rdma RDMA/umem: Split ib_umem_num_pages() into ib_umem_num_dma_blocks() 2020-09-11 10:24:53 -03:00
scsi
soc
sound
target
trace Linux 5.9-rc3 2020-08-31 12:28:12 -03:00
uapi Linux 5.9-rc3 2020-08-31 12:28:12 -03:00
vdso
video
xen xen: branch for v5.9-rc3 2020-08-29 12:44:30 -07:00