[dpdk-dev] Limiting packet buffers under 4GB
Burakov, Anatoly
anatoly.burakov at intel.com
Wed Nov 6 13:16:40 CET 2019
On 04-Nov-19 12:59 PM, Jerin Jacob Kollanukkaran wrote:
> Hi Anatoly and All,
>
> Just wondering what would the side effect of lowering a _bit_ of static uint64_t baseaddr = 0x100000000 in
> lib/librte_eal/common/eal_common_memory.c for 64bit systems.
>
> Use case:
> If we _reserve_ VA address which less than 2^32 ONLY for packet buffers(mbuf), The use cases like
> Pipeline, where need to transfer packets from one core to another cores can use ring element
> size of 4B(32bit) which will reduce the a lot of read and write to enable better
> performance.
>
> i.e Since upper 32bits will be zero, it is matter of typecasting of item to read and write from/to ring.
> Essentially memcpy overhead for moving pointers over the ring will be half.
>
> Is baseaddr set to 2^32 to make sure that secondary process will have more _chance_ of getting
> the baseaddr in order for DPDK to work?
>
> Thoughts on above? On general to reduce the mbuf pointer storage requirement for ring?
>
You can already try that with --base-virtaddr option if you have such
specific addressing requirements. That said, the address is pretty much
arbitrary, so i'm not against lowering it in principle, it just feels
like a workaround for something that's very specific to the workloads
you are targetting.
--
Thanks,
Anatoly
More information about the dev
mailing list