[dpdk-dev] Limiting packet buffers under 4GB

Jerin Jacob Kollanukkaran jerinj at marvell.com
Mon Nov 4 13:59:40 CET 2019


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?



 








More information about the dev mailing list