Bug 1333 - DMA Perf test unable to parse multiple DMA devices from configuration file
Summary: DMA Perf test unable to parse multiple DMA devices from configuration file
Status: CONFIRMED
Alias: None
Product: DPDK
Classification: Unclassified
Component: other (show other bugs)
Version: 23.11
Hardware: x86 Linux
: Normal normal
Target Milestone: ---
Assignee: dev
URL:
Depends on:
Blocks:
 
Reported: 2023-12-05 12:45 CET by Thiyagarajan P
Modified: 2023-12-06 16:52 CET (History)
2 users (show)



Attachments

Description Thiyagarajan P 2023-12-05 12:45:39 CET
Description: running dpdk-perf-test for DMA on Intel (Intel(R) Xeon(R) Platinum 8471N) for multiple devices and queues combination.

Sample Config File: `[DPDK root folder]/app/test-dma-perf/config.ini`
Current Value: `lcore_dma=lcore10@0000:00:04.2, lcore11@0000:00:04.3`
Modified value: `lcore_dma=lcore10@0000:00:04.2-q0,lcore12@0000:00:04.2-q1,lcore13@0000:00:04.2-q2,lcore14@0000:00:04.2-q3,lcore15@0000:00:04.2-q4,lcore16@0000:00:04.2-q5,lcore17@0000:00:04.2-q6,lcore18@0000:00:04.2-q7,lcore19@0000:00:04.4-q0,lcore20@0000:00:04.4-q1,lcore21@0000:00:04.4-q2,lcore22@0000:00:04.4-q3,lcore23@0000:00:04.4-q4,lcore24@0000:00:04.4-q5,lcore25@0000:00:04.4-q6,lcore26@0000:00:04.4-q7`


Expected behavior:
All the devices are initialized and DMA Perf test run on 16 dma devices.
Observed behavior:
dma Perf test runs only on first 7 Devices.
Comment 1 Thiyagarajan P 2023-12-06 06:25:19 CET
Correction in Observed Behavior:
dma perf test throws config file parsing error with the error of check if line too long. line no 11 is entry for lcore_dma
          
####
Error Observed:      
config file parsing...
rte_cfgfile_load_with_params():  line 11 - no \n found on string. Check if line too long

Open configure file error.
####
Comment 2 Vipin Varghese 2023-12-06 10:42:49 CET
Reproduced the issue locally. Based on the debug, the problem seems to be from `lib/cfgfile` where the Value holds only 256 characters.

Modifying the header file to a larger value or adding compiler arguments `-Dc_args=-DCFG_VALUE_LEN=2048'` and then recompiling the dpdk fixes the problem.

Will share a patch to udpate the default value.
Comment 3 Bruce Richardson 2023-12-06 16:52:07 CET
Rather than just increasing the length of lines supported by cfgfile library, I think we should change how the config of test-dma-perf is done. Rather than a single line listing all devices, we should have it use one device per line. For example:

lcore_dma0=lcore10@0000:04.2-q0
lcore_dma1=lcore12@0000:04.2-q1
....
lcore_dma15=lcore26@0000:04.4-q7

Note You need to log in before you can comment on or make changes to this bug.