lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <CAJ8uoz1CmRNMdTu3on7VL2Jrvo9z3WvdmFE_hSEiZDLiO-xtFw@mail.gmail.com> Date: Wed, 12 Apr 2023 15:43:31 +0200 From: Magnus Karlsson <magnus.karlsson@...il.com> To: Kal Conley <kal.conley@...tris.com> Cc: Magnus Karlsson <magnus.karlsson@...el.com>, Alexei Starovoitov <ast@...nel.org>, Daniel Borkmann <daniel@...earbox.net>, "David S. Miller" <davem@...emloft.net>, Jakub Kicinski <kuba@...nel.org>, Jesper Dangaard Brouer <hawk@...nel.org>, John Fastabend <john.fastabend@...il.com>, netdev@...r.kernel.org, bpf@...r.kernel.org Subject: Re: [PATCH bpf-next v5 0/4] xsk: Support UMEM chunk_size > PAGE_SIZE On Mon, 10 Apr 2023 at 14:08, Kal Conley <kal.conley@...tris.com> wrote: > > 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. > > Note, v5 fixes a major bug in previous versions of this patchset. > In particular, dma_map_page_attrs used to be called once for each > order-0 page in a hugepage with the assumption that returned I/O > addresses are contiguous within a hugepage. This assumption is incorrect > when an IOMMU is enabled. To fix this, v5 does DMA page accounting > accounting at hugepage granularity. Thank you so much Kal for implementing this feature. After you have fixed the three small things I had for patch #2, you have my ack for the whole set below. Please add it. For the whole set: Acked-by: Magnus Karlsson <magnus.karlsson@...el.com> It would be great if you have the time and desire to also take this to zero-copy mode. I have had multiple AF_XDP users mailing me privately that such a feature would be very useful for them. For some of them it was even a requirement to be able to get down to the latencies they were aiming for. > Changes since v4: > * Use hugepages in DMA map (fixes zero-copy mode with IOMMU). > * Use pool->dma_pages to check for DMA. This change is needed to avoid > performance regressions). > * Update commit message and benchmark table. > > Changes since v3: > * Fix checkpatch.pl whitespace error. > > 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 (4): > xsk: Use pool->dma_pages to check for DMA > 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 | 2 + > include/net/xdp_sock_drv.h | 12 ++++++ > include/net/xsk_buff_pool.h | 12 +++--- > net/xdp/xdp_umem.c | 55 +++++++++++++++++++----- > net/xdp/xsk_buff_pool.c | 43 ++++++++++-------- > tools/testing/selftests/bpf/xskxceiver.c | 27 +++++++++++- > tools/testing/selftests/bpf/xskxceiver.h | 2 + > 8 files changed, 142 insertions(+), 47 deletions(-) > > -- > 2.39.2 >
Powered by blists - more mailing lists