[dpdk-dev] [dpdk-stable] [PATCH v2] eal: don't advertise a physical address when no hugepages

Thomas Monjalon thomas at monjalon.net
Tue Jul 4 17:53:54 CEST 2017


03/07/2017 12:17, Jan Blunck:
> On Mon, Jul 3, 2017 at 12:04 PM, Olivier Matz <olivier.matz at 6wind.com> wrote:
> > When populating a mempool with a virtual memory area, the mempool
> > library expects to be able to get the physical address of each page.
> >
> > When started with --no-huge, the physical addresses may not be available
> > because the pages are not locked in memory. It sometimes returns
> > RTE_BAD_PHYS_ADDR, which makes the mempool_populate() function to fail.
> >
> > This was working before the commit cdc242f260e7 ("eal/linux: support
> > running as unprivileged user"), because rte_mem_virt2phy() was returning
> > 0 instead of RTE_BAD_PHYS_ADDR, which was seen as a valid physical
> > address.
> >
> > Since --no-huge is a debug function that breaks the support of physical
> > drivers, always set physical addresses to RTE_BAD_PHYS_ADDR in memzones
> > or in rte_mem_virt2phy(), and ensure that mempool won't complain in that
> > case.
> >
> > Fixes: cdc242f260e7 ("eal/linux: support running as unprivileged user")
> >
> > CC: stable at dpdk.org
> > Signed-off-by: Olivier Matz <olivier.matz at 6wind.com>
> 
> Reviewed-by: Jan Blunck <jblunck at infradead.org>

Applied, thanks


More information about the dev mailing list