https://bugs.dpdk.org/show_bug.cgi?id=1235 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 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 Signed-off-by: Nikhil Agarwal Reviewed-by: Anatoly Burakov -- You are receiving this mail because: You are the assignee for the bug.