Question: PMD behaviour without hugepages in DPDK 23.07 (XDP PMD in Kubernetes)
Bruce Richardson
bruce.richardson at intel.com
Tue Nov 25 16:05:33 CET 2025
On Fri, Nov 21, 2025 at 10:15:39PM +0800, Wan Bingbing wrote:
> Dear DPDK team,
> We are currently deploying an application utilizing Seastar and DPDK
> (version 23.07) with the XDP PMD inside a Kubernetes environment. Due
> to infrastructure restrictions, we cannot allocate hugepages on the
> Kubernetes nodes.
> In this environment, DPDK fails to initialize the XDP PMD because
> hugepage-backed memory cannot be created. Although the EAL is not
> started with the --no-huge parameter, no hugepages are available to
> DPDK, preventing the PMD from sending or receiving packets.
> We are aware of the known issue documented in the DPDK release notes
> ("PMD does not work with --no-huge EAL command line parameter"), which
> explains that PMDs rely on hugepage-backed memory because DPDK does not
> store the necessary physical/IOVA information for memory allocated via
> malloc/mmap.
> Given this dependency, we have the following questions:
> 1. Is there a currently supported method to run a hardware PMD
> (specifically the XDP PMD) without hugepages, or is hugepage-backed
> memory strictly required for all hardware PMDs?
> 2. Are there any ongoing efforts or future plans to support PMD
> operation in a non-hugepage mode?
> 3. If this limitation is architectural and not planned to be addressed,
> could you please confirm this? This confirmation would allow us to
> evaluate alternative approaches, such as using AF_XDP without DPDK or
> relying on the Seastar native stack.
> Any guidance or recommendations from the maintainers on how to proceed
> would be greatly appreciated.
> Thank you for your time.
> Best regards,
> Wan Bingbing
For non-HW PMDs like the AF_XDP driver*, AFAIK it should be feasible to
have it work in no-huge mode. However, as far as I am aware, there is
nobody currently looking into this.
Regards,
/Bruce
* yes, it does use HW, but really the kernel driver does most of the work,
so in practice its more like a SW or virtual driver.
More information about the dev
mailing list