Bug ID 1235
Summary [dpdk-23.07]basic_4k_pages_cbdma: start dpdk-testpmd with dmas and `--no-huge ` parameters failed
Product DPDK
Version 23.07
Hardware All
OS All
Status UNCONFIRMED
Severity normal
Priority Normal
Component vhost/virtio
Assignee dev@dpdk.org
Reporter weix.ling@intel.com
Target Milestone ---

[Environment]

DPDK version: Use make showversion or for a non-released version: git remote -v
&& git show-ref --heads
23.07.0-rc0
Other software versions: N/A
OS: Ubuntu 22.04.2 LTS/Linux 5.15.45-051545-generic
Compiler: gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04)
Hardware platform: Intel(R) Xeon(R) Platinum 8380 CPU @ 2.30GHz
NIC hardware: N/A
NIC firmware: N/A

[Test Setup]
Steps to reproduce
List the steps to reproduce the issue.

1.Apply the DMA related local patch, and then build DPDK.

the local patch in the attachment.

2.Bind 1 DMA channel to vfio-pci driver:

dpdk-devbind.py --force --bind=vfio-pci 0000:00:01.0 

3.Start dpdk-testpmd as the following command:

x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-9 -n 8 -a 0000:00:01.0
--file-prefix=vhost \
--no-huge -m 1024 \
--vdev
'net_vhost0,iface=./vhost-net0,client=1,queues=1,dmas=[txq0@0000:00:01.0]' \
-- -i --nb-cores=1 --txd=1024 --rxd=1024 --rxq=1 --txq=1

4.Check start dpdk-testpmd successed or failed.


Show the output from the previous commands.

root@dut245:~/dpdk# x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-9 -n 8 -a
0000:00:01.0 --file-prefix=vhost --no-huge -m 1024 --vdev
'net_vhost0,iface=./vhost-net0,client=1,queues=1,dmas=[txq0@0000:00:01.0]' --
-i --nb-cores=1 --txd=1024 --rxd=1024 --rxq=1 --txq=1
EAL: Detected CPU lcores: 128
EAL: Detected NUMA nodes: 2
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/vhost/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: VFIO support initialized
EAL: Using IOMMU type 1 (Type 1)
EAL: Cannot set up DMA remapping, error 28 (No space left on device)
EAL: 0000:00:01.0 DMA remapping failed, error 28 (No space left on device)
EAL: Requested device 0000:00:01.0 cannot be used
EAL: Bus (pci) probe failed.
Fail to find DMA device 0000:00:01.0.
Failed to parse dmas
vdev_probe(): failed to initialize net_vhost0 device
EAL: Bus (vdev) probe failed.
testpmd: No probed ethernet devices
Interactive-mode selected
Fail: input rxq (1) can't be greater than max_rx_queues (0) of port 0
EAL: Error - exiting with code: 1
  Cause: rxq 1 invalid - must be >= 0 && <= 0 


[Expected Result]
Explain what is the expected result in text or as an example output:

Start dpdk-testpmd successed and no error info. 


[Regression]
Is this issue a regression: (Y)

Version the regression was introduced: Specify git id if known.

commit a399d7b5a994e335c446d4b15d7622d71dd8848c (HEAD -> main, origin/main,
origin/HEAD)
Author: Nipun Gupta <nipun.gupta@amd.com>
Date:   Wed Jan 4 10:49:36 2023 +0530

    vfio: do not coalesce DMA mappings

    At the cleanup time when dma unmap is done, the Linux kernel VFIO driver
    does not allow unmap of individual segments which were coalesced together
    while creating the DMA map for type1 IOMMU mappings.
    So, this change updates the mapping of the memory segments (hugepages) on
    a per-page basis.

    Signed-off-by: Nipun Gupta <nipun.gupta@amd.com>
    Signed-off-by: Nikhil Agarwal <nikhil.agarwal@amd.com>
    Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>
          


You are receiving this mail because: