Multi Channel DMA Intel® FPGA IP for PCI Express* Design Example User Guide
Visible to Intel only — GUID: agd1747689167189
Ixiasoft
Visible to Intel only — GUID: agd1747689167189
Ixiasoft
3.5.8.3.2.1. DMA Test Beyond 256 Channels
- Enable the following software flags in p0_software/user/common/mk/common.mk:
__cflags += -DIFC_MCDMA_DIDF
__cflags += -UIFC_MCDMA_SINGLE_FUNC
- Configure the static channel mapping in p0_software/user/cli/perfq_app/perfq_app.h by modifying the following parameters:
/* Number of PFs */
#define IFC_QDMA_PFS <number of PFs>
/* Channels available per PF */
#define IFC_QDMA_PER_PF_CHNLS <number of channels per PF>
/* Channels available per VF */
#define IFC_QDMA_PER_VF_CHNLS <number of channels per VF>
/* Number of VFs per PF */
#define IFC_QDMA_PER_PF_VFS <number of VFs per PF>
- If the Linux kernel driver has been installed, build the driver and application by following the instructions in Build and Install the User Space Library and Build the Reference Application. Otherwise, the Linux kernel driver needs to be installed before building the driver and application.
Command:
sudo ./perfq_app -p 64 -l 2 -i -d 1 -c 2048 -a 4
Configuration:- 2K channels (-c 2048)
- Loopback bidirectional (-i)
- Payload length of 64 bytes (-p 64)
- Transfer the data 2 seconds (-l 2)
- Number of threads that needs to be used (-a 4)
- Dump the progress logs every second (-d 1)
- For a test with 2048 channels, the following configurations can be used:
With SR-IOV: 2 PFs (512 channels per PF) and 2 VFs per PF (256 channels per VF)
Without SR-IOV: 4 PFs (512 channels per PF)
- Currently, in DIDF mode, a single page is supported.
- Simultaneous process currently cannot be supported in DIDF mode. You can run one process with 2k channels.