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
This commit is contained in:
Magnus Karlsson
2020-08-28 10:26:22 +02:00
committed by Daniel Borkmann
parent 7f7ffa4e9c
commit 921b68692a
4 changed files with 156 additions and 42 deletions
+1
View File
@@ -30,6 +30,7 @@ struct xdp_umem {
u8 flags;
int id;
bool zc;
struct list_head xsk_dma_list;
};
struct xsk_map {