Multi Channel DMA Intel® FPGA IP for PCI Express* Design Example User Guide
Visible to Intel only — GUID: cpt1745526524942
Ixiasoft
Visible to Intel only — GUID: cpt1745526524942
Ixiasoft
3.5.9.3.1. Avalon-MM DMA (AVMM DMA)
- After completing the instructions outlined in Prerequisites, navigate to the perfq folder:
$ cd dpdk-stable/build/examples/mcdma-test/perfq
- Verify the AVMM DMA design example variant using the following command:
$ sudo ./build/mcdma-test -- -b 0000:01:00.0 -p 32768 -l 5 -i -u -c 2 \ -d 2 -a 4
- bdf (-b 0000:01:00.0)
- 2 channels (-c 2)
- Loopback mode (-u )
- Payload length of 32768 bytes in each descriptor (-p 32768)
- Time limit set to 5 (-l 5)
- Dump the progress log every 2 seconds (-d 2)
- One thread per queue (-a 4)

$ sudo ./build/mcdma-test -- -b <bdf> -e
DMA Test Beyond 256 Channels
If the design example is generated with the number of channels greater than 256, follow this procedure to run a DMA test.
- Define the following software flag in p0_software/dpdk/dpdk/patches/v21.11.2/dpdk-stable/drivers/net/mcdma/rte_pmd_mcdma.h
#define IFC_MCDMA_DIDF
- Configure the memory zone in p0_software/dpdk/dpdk/patches/v21.11.2/dpdk-stable/config/rte_config.h
#define RTE_MAX_MEMZONE 20480
- Define the following software flag in p0_software/dpdk/dpdk/patches/v21.11.2/dpdk-stable/examples/mcdma-test/perfq/meson.build
-DIFC_MCDMA_SINGLE_FUNC
- Rebuild the DPDK application using the following commands for the new settings to take effect.
$ cd p0_software/dpdk/dpdk/patches/v21.11.2/dpdk-stable/
$ sudo meson build --reconfigure
$ sudo DESTDIR=install ninja -C build install
$ cd build
$ sudo meson configure -Dexamples=mcdma-test/perfq \ -Denable_kmods=true
$ sudo ninja
- Navigate to the perfq folder:
$ cd dpdk-stable/build/examples/mcdma-test/perfq
- Verify the AVMM DMA design example variant using the following command.
$ sudo ./build/mcdma-test -- -b 0000:38:00.0 -p 64 -l 5 -u \ -c 512 -d 2 -a 4
Configuration:
- 512 channels (-c 512)
- Loopback mode (-u)
- Payload length of 64 bytes in each descriptor (-p 64)
- Time limit set to 5 (-l 5)
- Dump the progress log every 2 seconds (-d 2)
- Total of 4 threads (-a 4)
Figure 42. Results of DMA Test with 512 Channels