How do you figure out what settings need to be used to correctly configure
a DPDK mempool for your application?

Specifically using rte_pktmbuf_pool_create():

- n, the number of elements in the mbuf pool
- cache_size
- priv_size
- data_room_size

EAL arguments:
- n number of memory channels
- r number of memory ranks
- m amount of memory to preallocate at startup
- in-memory no shared data structures
- IOVA mode
- huge-worker-stack

My setup:

   - 2 x Intel Xeon Gold 6348 CPU @ 2.6 Ghz
      - 28 cores per socket
      - Max 3.5 Ghz
      - Hyperthreading disabled
      - Ubuntu 22.04.1 LTS
      - Kernel 5.15.0-53-generic
      - Cores set to performance governor
      - 4 x Sabrent 2TB Rocket 4 Plus in RAID0 Config
      - 128 GB DDR4 Memory
      - 10 1GB HugePages (Can change to what is required)
   - 1 x Mellanox ConnectX-5 100gbe NIC
      - 31:00.0 Ethernet controller: Mellanox Technologies MT27800 Family
      [ConnectX-5]
      - Firmware-version: 16.35.1012
   - UDP Source:
      - 100 gbe NIC
      - 9000 MTU Packets
      - ipv4-udp packets

Will be receiving 10GB/s UDP packets over a 100gbe link. Right now trying
to get it working for 2GB/s to a single queue.

Reviewed the DPDK Programmers guide:
https://doc.dpdk.org/guides/prog_guide/mempool_lib.html Also searched
online but the resources seem limited. Would appreciate any help or a push
in the right direction.


Sincerely,

DB

Reply via email to