Multi Channel DMA Intel® FPGA IP for PCI Express* Design Example User Guide
ID
683517
Date
1/27/2025
Public
A newer version of this document is available. Customers should click here to go to the newest version.
3.5.2.5.1. Build and Install Netdev Driver
3.5.2.5.2. Enable VFs if SRIOV is Supported
3.5.2.5.3. Configure the Number of Channels Supported on the Device
3.5.2.5.4. Configure the MTU Value
3.5.2.5.5. Configure the Device Communication
3.5.2.5.6. Configure Transmit Queue Selection Mechanism
3.5.2.5.7. Test Procedure by Using Name Space Environment
3.5.2.5.8. PIO Test
3.5.2.5.6.1. MCDMA Queue Selection
When using the MCDMA Queue Selection algorithm, you can map multiple transmit queues to a core. Any application running on that particular core uses one of these mapped queues to transfer the data.
Multiple application instances can use multiple queues mapped to one core or different cores enabling parallel transmission streams of packets.
Configuration
- Enable the IFC_SELECT_QUEUE_ALGO flag in driver/kmod/mcdma-netdev-driver/Makefile.
- Map transmit queues to cores:
cd /sys/kernel/debug/ifc_mcdma0/ echo start_chnl_no > start_chnl echo end_chnl_no > end_chnl echo core_no > core echo 1 > map_update echo 1 > map_show
Example:Map chnl 0 to chnl 7 to core5
echo 0 > start_chnl echo 7 > end_chnl echo 5 > core echo 1 > map_update
- If a core is not mapped to any queue, use the last queue.
- By default, all transmit queues are mapped to core 0.