xsk: Enable sharing of dma mappings
authorMagnus Karlsson <magnus.karlsson@intel.com>
Fri, 28 Aug 2020 08:26:22 +0000 (10:26 +0200)
committerDaniel Borkmann <daniel@iogearbox.net>
Mon, 31 Aug 2020 19:15:04 +0000 (21:15 +0200)
commit921b68692abb4fd02237b6875b2056bc59435116
tree80597519bc9b2ec71dc485418bc0f6a6025d234b
parent7f7ffa4e9c38f01d380ed9df6adb238fd5e6eea5
xsk: Enable sharing of dma mappings

Enable the sharing of dma mappings by moving them out from the buffer
pool. Instead we put each dma mapped umem region in a list in the umem
structure. If dma has already been mapped for this umem and device, it
is not mapped again and the existing dma mappings are reused.

Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Björn Töpel <bjorn.topel@intel.com>
Link: https://lore.kernel.org/bpf/1598603189-32145-9-git-send-email-magnus.karlsson@intel.com
include/net/xdp_sock.h
include/net/xsk_buff_pool.h
net/xdp/xdp_umem.c
net/xdp/xsk_buff_pool.c