The main purpose of this patchset is to add AF_XDP support for UMEM chunk sizes > PAGE_SIZE. This is enabled for UMEMs backed by HugeTLB pages. Changes since v2: * Related fixes/improvements included with v2 have been removed. These changes have all been resubmitted as standalone patchsets. * Minimize uses of #ifdef CONFIG_HUGETLB_PAGE. * Improve AF_XDP documentation. * Update benchmark table in commit message. Changes since v1: * Add many fixes/improvements to the XSK selftests. * Add check for unaligned descriptors that overrun UMEM. * Fix compile errors when CONFIG_HUGETLB_PAGE is not set. * Fix incorrect use of _Static_assert. * Update AF_XDP documentation. * Rename unaligned 9K frame size test. * Make xp_check_dma_contiguity less conservative. * Add more information to benchmark table. Thanks to Magnus Karlsson for all his support! Happy easter! Kal Conley (3): xsk: Support UMEM chunk_size > PAGE_SIZE selftests: xsk: Use hugepages when umem->frame_size > PAGE_SIZE selftests: xsk: Add tests for 8K and 9K frame sizes Documentation/networking/af_xdp.rst | 36 ++++++++++------- include/net/xdp_sock.h | 1 + include/net/xdp_sock_drv.h | 12 ++++++ include/net/xsk_buff_pool.h | 3 +- net/xdp/xdp_umem.c | 51 ++++++++++++++++++++---- net/xdp/xsk_buff_pool.c | 28 ++++++++----- tools/testing/selftests/bpf/xskxceiver.c | 27 ++++++++++++- tools/testing/selftests/bpf/xskxceiver.h | 2 + 8 files changed, 127 insertions(+), 33 deletions(-) -- 2.39.2