On Fri, Jun 05, 2026 at 08:35:25AM -0700, Stanislav Fomichev wrote:
On 06/03, Bobby Eshleman wrote:
From: Bobby Eshleman bobbyeshleman@meta.com
Add -b <bytes> to request a non-default niov size via NETDEV_A_DMABUF_RX_BUF_SIZE. When the value exceeds PAGE_SIZE, udmabuf_alloc() switches to an MFD_HUGETLB-backed memfd so each 2 MB hugepage produces one naturally-aligned sg entry.
Reject values > 2 MB up front: MFD_HUGETLB + udmabuf can only guarantee 2 MB per sg entry (one hugepage), so a larger rx_buf_size would fail the per-sg length/alignment check.
Add CONFIG_HUGETLBFS=y to drivers/net/hw/config so the new path is reachable in the CI kernels built for these tests.
I vaguely remember there was also some kernel cmdline argument to reserve these? Do we need to also do something to NIPA to reserve 2MB pages for this test? Or was it for 1GB pages?
Good call, my little runner script when prototyping this adds these pages at runtime and I forgot to move it into the patch, we can have the py runner do this setup.
Best, Bobby