[dpdk-dev] [PATCH v4 1/2] eal: make base address hint OS-specific
Stephen Hemminger
stephen at networkplumber.org
Wed Oct 2 16:42:40 CEST 2019
On Wed, 2 Oct 2019 13:41:30 +0200
David Marchand <david.marchand at redhat.com> wrote:
> > +uint64_t eal_get_baseaddr(void)
> > +{
> > + /*
> > + * Linux kernel uses a really high address as starting address for
> > + * serving mmaps calls. If there exists addressing limitations and IOVA
> > + * mode is VA, this starting address is likely too high for those
> > + * devices. However, it is possible to use a lower address in the
> > + * process virtual address space as with 64 bits there is a lot of
> > + * available space.
> > + *
> > + * Current known limitations are 39 or 40 bits. Setting the starting
> > + * address at 4GB implies there are 508GB or 1020GB for mapping the
> > + * available hugepages. This is likely enough for most systems, although
> > + * a device with addressing limitations should call
> > + * rte_mem_check_dma_mask for ensuring all memory is within supported
> > + * range.
> > + */
> > + return 0x100000000;
Is this going to work right on 32 bit builds where sizeof(uint) == 4
then constants default to 32. Does it need ul or ull suffix (or a cast)?
More information about the dev
mailing list