From: Leon Romanovsky <leonro@xxxxxxxxxx> Changelog: v3: * Rewrote to new API suggestion * Split for more patches v2: https://lore.kernel.org/lkml/cover.1626605893.git.leonro@xxxxxxxxxx * Changed implementation of first patch, based on our discussion with Christoph. https://lore.kernel.org/lkml/YNwaVTT0qmQdxaZz@xxxxxxxxxxxxx/ v1: https://lore.kernel.org/lkml/cover.1624955710.git.leonro@xxxxxxxxxx/ * Fixed sg_page with a _dma_ API in the umem.c v0: https://lore.kernel.org/lkml/cover.1624361199.git.leonro@xxxxxxxxxx Maor Gottlieb (3): lib/scatterlist: Provide a dedicated function to support table append lib/scatterlist: Fix wrong update of orig_nents RDMA: Use the sg_table directly and remove the opencoded version from umem drivers/gpu/drm/drm_prime.c | 13 +- drivers/gpu/drm/i915/gem/i915_gem_userptr.c | 11 +- drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c | 14 +- drivers/infiniband/core/umem.c | 56 +++--- drivers/infiniband/core/umem_dmabuf.c | 5 +- drivers/infiniband/hw/hns/hns_roce_db.c | 4 +- drivers/infiniband/hw/irdma/verbs.c | 2 +- drivers/infiniband/hw/mlx4/doorbell.c | 3 +- drivers/infiniband/hw/mlx4/mr.c | 4 +- drivers/infiniband/hw/mlx5/doorbell.c | 3 +- drivers/infiniband/hw/mlx5/mr.c | 3 +- drivers/infiniband/hw/qedr/verbs.c | 2 +- drivers/infiniband/sw/rdmavt/mr.c | 2 +- drivers/infiniband/sw/rxe/rxe_mr.c | 2 +- include/linux/scatterlist.h | 54 +++++- include/rdma/ib_umem.h | 11 +- include/rdma/ib_verbs.h | 28 +++ lib/scatterlist.c | 189 ++++++++++++-------- tools/testing/scatterlist/main.c | 38 ++-- 19 files changed, 275 insertions(+), 169 deletions(-) -- 2.31.1