We wanted to run DPDK's own tools to manage the eth port under DPDK, such as state acquisition, duplex rate parameter configuration, but ran an error
Two operations were performed before running ethtool,
1 Uboot is configured with large page memory:default_hugepagesz=2MB hugepagesz=2MB hugepages=512 isolcpus=1-3 bportals=s0 qportals=s0 iommu.passthrough=1
2 The FMC is executed and the dpaa is configured using the default file:
fmc -c usdpaa_config_ls1043.xml -p usdpaa_policy_hash_ipv4_1queue.xml -a
DPDK's ethtool failed to run
[anaconda root@localhost tmp]# ./ethtool
EAL: Detected 4 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL: DPAA Bus Detected
PMD: Using FMC script mode,Make sure to use DPDK supported FMC scripts only.
PMD: net: dpaa: fm1-mac1: 00:04:9f:05:aa:e0
PMD: net: dpaa: fm1-mac2: 00:04:9f:05:aa:e1
PMD: net: dpaa: fm1-mac3: 00:04:9f:05:aa:e2
PMD: net: dpaa: fm1-mac4: 00:04:9f:05:aa:e3
PMD: net: dpaa: fm1-mac5: 00:04:9f:05:aa:e4
PMD: net: dpaa: fm1-mac6: 00:04:9f:05:aa:e5
Number of NICs: 6
Init port 0..
dpaa_eth_dev_configure(): Rx offloads non configurable - requested 0x0 ignored 0x4e
dpaa_eth_dev_configure(): Tx offloads non configurable - requested 0x0 ignored 0x1c09e
EAL: Error - exiting with code: 1
Cause: rte_pktmbuf_pool_create failed
Please check what caused the error, thank you.
Since memory is less, you should use 2m size hugepages.
so, following is good:
setenv othbootargs default_hugepagesz=2m hugepagesz=2m hugepages=512
cat /sys/devices/system/node/node0/hugepages/hugepages-*/nr_hugepages //result is 512, success
also, you can modify the dpdk ethtool to use less memory or don't allocate memory for all ports.
Hello 克祥 黄,
On LS2088ARDB/LS1088ARDB/LS1046ARDB, if configuring hugepages memory as the following, ethtool can be set up. However LS1043ARDB memory is too small(only 2 G) to configure hugepages as the following.
default_hugepagesz=1024m hugepagesz=1024m hugepages=8
Thanks,
Yiping
Hello Yiping Wang,
I'm the real questioner, 克祥 is my friend, I have tried your way, but it looks like can't be set successfully still.
we did these test:
1. 8G:
setenv othbootargs default_hugepagesz=1024m hugepagesz=1024m hugepages=8
cat /sys/devices/system/node/node0/hugepages/hugepages-*/nr_hugepages //result is 0, failed
2. 1G(size=2m):
setenv othbootargs default_hugepagesz=2m hugepagesz=2m hugepages=512
cat /sys/devices/system/node/node0/hugepages/hugepages-*/nr_hugepages //result is 512, success
3. 1G(size=4m)
setenv othbootargs default_hugepagesz=4m hugepagesz=4m hugepages=256
cat /sys/devices/system/node/node0/hugepages/hugepages-*/nr_hugepages //result is 0, failed
4. 8M(size=1024k)
setenv othbootargs default_hugepagesz=1024k hugepagesz=1024k hugepages=8
cat /sys/devices/system/node/node0/hugepages/hugepages-*/nr_hugepages //result is 0, failed
As I mentioned, ethtool cannot be executed successfully on LS1043ARDB, because LS1043ARDB memory is too small(only 2 G) to configure hugepages as the following.
default_hugepagesz=1024m hugepagesz=1024m hugepages=8