* [dpdk-dev] Query : Does Binding with vfio-pci is supported inside qemu-kvm guest/vm instance.? @ 2019-03-12 5:27 Thanneeru Srinivasulu 2019-03-12 9:38 ` Bruce Richardson 0 siblings, 1 reply; 17+ messages in thread From: Thanneeru Srinivasulu @ 2019-03-12 5:27 UTC (permalink / raw) To: dev Hi Everyone. I did attached pice to Guest VM using vfio-pci with qemu command, and then tried binding the pcie bdf with vfio-pci, observing binding failure with vfio-pci. Where as when tryied with igb_uio, everything works fine. Does Binding with vfio-pci is supported inside VM/guest? Regards Srinivasulu ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Query : Does Binding with vfio-pci is supported inside qemu-kvm guest/vm instance.? 2019-03-12 5:27 [dpdk-dev] Query : Does Binding with vfio-pci is supported inside qemu-kvm guest/vm instance.? Thanneeru Srinivasulu @ 2019-03-12 9:38 ` Bruce Richardson 2019-03-12 9:42 ` Thanneeru Srinivasulu 0 siblings, 1 reply; 17+ messages in thread From: Bruce Richardson @ 2019-03-12 9:38 UTC (permalink / raw) To: Thanneeru Srinivasulu; +Cc: dev On Tue, Mar 12, 2019 at 10:57:55AM +0530, Thanneeru Srinivasulu wrote: > Hi Everyone. > > I did attached pice to Guest VM using vfio-pci with qemu command, and then > tried binding the pcie bdf with vfio-pci, observing binding failure with > vfio-pci. > > Where as when tryied with igb_uio, everything works fine. > > Does Binding with vfio-pci is supported inside VM/guest? > vfio support requires the presence of an IOMMU, and you generally don't have an IOMMU available in a VM. /Bruce ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Query : Does Binding with vfio-pci is supported inside qemu-kvm guest/vm instance.? 2019-03-12 9:38 ` Bruce Richardson @ 2019-03-12 9:42 ` Thanneeru Srinivasulu 2019-03-12 9:54 ` Jason Wang 0 siblings, 1 reply; 17+ messages in thread From: Thanneeru Srinivasulu @ 2019-03-12 9:42 UTC (permalink / raw) To: Bruce Richardson; +Cc: dev Thanks Bruce.. On Tue, Mar 12, 2019 at 3:08 PM Bruce Richardson <bruce.richardson@intel.com> wrote: > > On Tue, Mar 12, 2019 at 10:57:55AM +0530, Thanneeru Srinivasulu wrote: > > Hi Everyone. > > > > I did attached pice to Guest VM using vfio-pci with qemu command, and then > > tried binding the pcie bdf with vfio-pci, observing binding failure with > > vfio-pci. > > > > Where as when tryied with igb_uio, everything works fine. > > > > Does Binding with vfio-pci is supported inside VM/guest? > > > vfio support requires the presence of an IOMMU, and you generally don't > have an IOMMU available in a VM. > > /Bruce -- Regards, Srinivas ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Query : Does Binding with vfio-pci is supported inside qemu-kvm guest/vm instance.? 2019-03-12 9:42 ` Thanneeru Srinivasulu @ 2019-03-12 9:54 ` Jason Wang 2019-03-12 10:20 ` Bruce Richardson 0 siblings, 1 reply; 17+ messages in thread From: Jason Wang @ 2019-03-12 9:54 UTC (permalink / raw) To: Thanneeru Srinivasulu, Bruce Richardson; +Cc: dev On 2019/3/12 下午5:42, Thanneeru Srinivasulu wrote: > Thanks Bruce.. > > On Tue, Mar 12, 2019 at 3:08 PM Bruce Richardson > <bruce.richardson@intel.com> wrote: >> On Tue, Mar 12, 2019 at 10:57:55AM +0530, Thanneeru Srinivasulu wrote: >>> Hi Everyone. >>> >>> I did attached pice to Guest VM using vfio-pci with qemu command, and then >>> tried binding the pcie bdf with vfio-pci, observing binding failure with >>> vfio-pci. >>> >>> Where as when tryied with igb_uio, everything works fine. >>> >>> Does Binding with vfio-pci is supported inside VM/guest? >>> >> vfio support requires the presence of an IOMMU, and you generally don't >> have an IOMMU available in a VM. >> >> /Bruce Actually, Qemu support vIOMMU + VFIO in guest[1], all you need is to add a intel IOMMU and enabling caching mode. Thanks [1] https://www.lfasiallc.com/wp-content/uploads/2017/11/Device-Assignment-with-Nested-Guests-and-DPDK_Peter-Xu.pdf > > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Query : Does Binding with vfio-pci is supported inside qemu-kvm guest/vm instance.? 2019-03-12 9:54 ` Jason Wang @ 2019-03-12 10:20 ` Bruce Richardson 2019-03-12 10:57 ` Burakov, Anatoly 0 siblings, 1 reply; 17+ messages in thread From: Bruce Richardson @ 2019-03-12 10:20 UTC (permalink / raw) To: Jason Wang; +Cc: Thanneeru Srinivasulu, dev On Tue, Mar 12, 2019 at 05:54:39PM +0800, Jason Wang wrote: > > On 2019/3/12 下午5:42, Thanneeru Srinivasulu wrote: > > Thanks Bruce.. > > > > On Tue, Mar 12, 2019 at 3:08 PM Bruce Richardson > > <bruce.richardson@intel.com> wrote: > > > On Tue, Mar 12, 2019 at 10:57:55AM +0530, Thanneeru Srinivasulu wrote: > > > > Hi Everyone. > > > > > > > > I did attached pice to Guest VM using vfio-pci with qemu command, and then > > > > tried binding the pcie bdf with vfio-pci, observing binding failure with > > > > vfio-pci. > > > > > > > > Where as when tryied with igb_uio, everything works fine. > > > > > > > > Does Binding with vfio-pci is supported inside VM/guest? > > > > > > > vfio support requires the presence of an IOMMU, and you generally don't > > > have an IOMMU available in a VM. > > > > > > /Bruce > > > Actually, Qemu support vIOMMU + VFIO in guest[1], all you need is to add a > intel IOMMU and enabling caching mode. > > Thanks > > > [1] > > https://www.lfasiallc.com/wp-content/uploads/2017/11/Device-Assignment-with-Nested-Guests-and-DPDK_Peter-Xu.pdf > Thanks for the info. /Bruce ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Query : Does Binding with vfio-pci is supported inside qemu-kvm guest/vm instance.? 2019-03-12 10:20 ` Bruce Richardson @ 2019-03-12 10:57 ` Burakov, Anatoly [not found] ` <CGME20190312110957eucas1p1af74c8d26bf80fd815847ed8086a1e78@eucas1p1.samsung.com> 2019-04-02 10:38 ` John Sucaet 0 siblings, 2 replies; 17+ messages in thread From: Burakov, Anatoly @ 2019-03-12 10:57 UTC (permalink / raw) To: Bruce Richardson, Jason Wang; +Cc: Thanneeru Srinivasulu, dev On 12-Mar-19 10:20 AM, Bruce Richardson wrote: > On Tue, Mar 12, 2019 at 05:54:39PM +0800, Jason Wang wrote: >> >> On 2019/3/12 下午5:42, Thanneeru Srinivasulu wrote: >>> Thanks Bruce.. >>> >>> On Tue, Mar 12, 2019 at 3:08 PM Bruce Richardson >>> <bruce.richardson@intel.com> wrote: >>>> On Tue, Mar 12, 2019 at 10:57:55AM +0530, Thanneeru Srinivasulu wrote: >>>>> Hi Everyone. >>>>> >>>>> I did attached pice to Guest VM using vfio-pci with qemu command, and then >>>>> tried binding the pcie bdf with vfio-pci, observing binding failure with >>>>> vfio-pci. >>>>> >>>>> Where as when tryied with igb_uio, everything works fine. >>>>> >>>>> Does Binding with vfio-pci is supported inside VM/guest? >>>>> >>>> vfio support requires the presence of an IOMMU, and you generally don't >>>> have an IOMMU available in a VM. >>>> >>>> /Bruce >> >> >> Actually, Qemu support vIOMMU + VFIO in guest[1], all you need is to add a >> intel IOMMU and enabling caching mode. >> >> Thanks >> >> >> [1] >> >> https://www.lfasiallc.com/wp-content/uploads/2017/11/Device-Assignment-with-Nested-Guests-and-DPDK_Peter-Xu.pdf >> > Thanks for the info. > > /Bruce > One more thing: even without vIOMMU, VFIO has no-IOMMU mode which can be enabled (for a recent-enough kernel). This will make VFIO work even in cases where the guest doesn't have IOMMU emulation. See? There's no reason to use igb_uio, ever! :D -- Thanks, Anatoly ^ permalink raw reply [flat|nested] 17+ messages in thread
[parent not found: <CGME20190312110957eucas1p1af74c8d26bf80fd815847ed8086a1e78@eucas1p1.samsung.com>]
* Re: [dpdk-dev] Query : Does Binding with vfio-pci is supported inside qemu-kvm guest/vm instance.? [not found] ` <CGME20190312110957eucas1p1af74c8d26bf80fd815847ed8086a1e78@eucas1p1.samsung.com> @ 2019-03-12 11:09 ` Ilya Maximets 0 siblings, 0 replies; 17+ messages in thread From: Ilya Maximets @ 2019-03-12 11:09 UTC (permalink / raw) To: dev, Thanneeru Srinivasulu Cc: Jason Wang, Konstantin Ananyev, Anatoly Burakov > On 12-Mar-19 10:20 AM, Bruce Richardson wrote: >> On Tue, Mar 12, 2019 at 05:54:39PM +0800, Jason Wang wrote: >>> >>> On 2019/3/12 下午5:42, Thanneeru Srinivasulu wrote: >>>> Thanks Bruce.. >>>> >>>> On Tue, Mar 12, 2019 at 3:08 PM Bruce Richardson >>>> <bruce.richardson at intel.com> wrote: >>>>> On Tue, Mar 12, 2019 at 10:57:55AM +0530, Thanneeru Srinivasulu wrote: >>>>>> Hi Everyone. >>>>>> >>>>>> I did attached pice to Guest VM using vfio-pci with qemu command, and then >>>>>> tried binding the pcie bdf with vfio-pci, observing binding failure with >>>>>> vfio-pci. >>>>>> >>>>>> Where as when tryied with igb_uio, everything works fine. >>>>>> >>>>>> Does Binding with vfio-pci is supported inside VM/guest? >>>>>> >>>>> vfio support requires the presence of an IOMMU, and you generally don't >>>>> have an IOMMU available in a VM. >>>>> >>>>> /Bruce >>> >>> >>> Actually, Qemu support vIOMMU + VFIO in guest[1], all you need is to add a >>> intel IOMMU and enabling caching mode. >>> >>> Thanks >>> >>> >>> [1] >>> >>> https://www.lfasiallc.com/wp-content/uploads/2017/11/Device-Assignment-with-Nested-Guests-and-DPDK_Peter-Xu.pdf >>> >> Thanks for the info. >> >> /Bruce >> > > One more thing: even without vIOMMU, VFIO has no-IOMMU mode which can be > enabled (for a recent-enough kernel). This will make VFIO work even in > cases where the guest doesn't have IOMMU emulation. See? There's no > reason to use igb_uio, ever! :D Agree. You could use following commands to enable no-IOMMU mode: modprobe vfio-pci echo 1 > /sys/module/vfio/parameters/enable_unsafe_noiommu_mode This should allow using vfio-pci driver without IOMMU emulation. However, there will be no any security accordingly. Best regards, Ilya Maximets. > > -- > Thanks, > Anatoly > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Query : Does Binding with vfio-pci is supported inside qemu-kvm guest/vm instance.? 2019-03-12 10:57 ` Burakov, Anatoly [not found] ` <CGME20190312110957eucas1p1af74c8d26bf80fd815847ed8086a1e78@eucas1p1.samsung.com> @ 2019-04-02 10:38 ` John Sucaet 2019-04-02 10:38 ` John Sucaet 2019-04-02 13:38 ` Burakov, Anatoly 1 sibling, 2 replies; 17+ messages in thread From: John Sucaet @ 2019-04-02 10:38 UTC (permalink / raw) To: dev, anatoly.burakov Hi Anatoly, As you said: There's no reason to use igb_uio, ever! I would like to ask whether vfio-pci with or without vIOMMU should/could work for virtio-pci net devices in the case of a 32-bit dpdk application, on a 64-bit kernel (4.9) inside a guest VM (qemu-2.10.2-1.fc27)? I tried both a 64-bit and a 32-bit version of the same application, but only in the case of the 64-bit application, the port was found by eal. The 32-bit application gave errors like: EAL: pci_map_resource(): cannot mmap(16, 0xf4a01000, 0x4000, 0x0): Invalid argument (0xffffffff) EAL: Failed to map pci BAR4 EAL: 0000:00:02.0 mapping BAR4 failed: Invalid argument EAL: Can't write to PCI bar (0) : offset (12) EAL: Can't read from PCI bar (0) : offset (12) EAL: Can't read from PCI bar (0) : offset (12) EAL: Can't write to PCI bar (0) : offset (12) EAL: Can't read from PCI bar (0) : offset (12) EAL: Can't write to PCI bar (0) : offset (12) EAL: Can't read from PCI bar (0) : offset (0) EAL: Can't write to PCI bar (0) : offset (4) EAL: Can't write to PCI bar (0) : offset (14) EAL: Can't read from PCI bar (0) : offset (14) EAL: Can't read from PCI bar (0) : offset (1a) EAL: Can't read from PCI bar (0) : offset (1c) EAL: Can't write to PCI bar (0) : offset (e) EAL: Can't read from PCI bar (0) : offset (c) virtio_init_queue(): virtqueue size is not powerof 2 EAL: Requested device 0000:00:02.0 cannot be used Maybe you have an idea what went wrong here? By preference, I would like to continue to use the 32-bit application which worked fine with the igb_uio driver. Thanks John On 03/12/2019 11:57 AM, Burakov, Anatoly wrote: > On 12-Mar-19 10:20 AM, Bruce Richardson wrote: >> On Tue, Mar 12, 2019 at 05:54:39PM +0800, Jason Wang wrote: >>> >>> On 2019/3/12 下午5:42, Thanneeru Srinivasulu wrote: >>>> Thanks Bruce.. >>>> >>>> On Tue, Mar 12, 2019 at 3:08 PM Bruce Richardson >>>> <bruce.richardson@intel.com> wrote: >>>>> On Tue, Mar 12, 2019 at 10:57:55AM +0530, Thanneeru Srinivasulu >>>>> wrote: >>>>>> Hi Everyone. >>>>>> >>>>>> I did attached pice to Guest VM using vfio-pci with qemu >>>>>> command, and then >>>>>> tried binding the pcie bdf with vfio-pci, observing binding >>>>>> failure with >>>>>> vfio-pci. >>>>>> >>>>>> Where as when tryied with igb_uio, everything works fine. >>>>>> >>>>>> Does Binding with vfio-pci is supported inside VM/guest? >>>>>> >>>>> vfio support requires the presence of an IOMMU, and you generally >>>>> don't >>>>> have an IOMMU available in a VM. >>>>> >>>>> /Bruce >>> >>> >>> Actually, Qemu support vIOMMU + VFIO in guest[1], all you need is to >>> add a >>> intel IOMMU and enabling caching mode. >>> >>> Thanks >>> >>> >>> [1] >>> >>> https://www.lfasiallc.com/wp-content/uploads/2017/11/Device-Assignment-with-Nested-Guests-and-DPDK_Peter-Xu.pdf >>> >>> >> Thanks for the info. >> >> /Bruce >> > > One more thing: even without vIOMMU, VFIO has no-IOMMU mode which can > be enabled (for a recent-enough kernel). This will make VFIO work even > in cases where the guest doesn't have IOMMU emulation. See? There's no > reason to use igb_uio, ever! :D > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Query : Does Binding with vfio-pci is supported inside qemu-kvm guest/vm instance.? 2019-04-02 10:38 ` John Sucaet @ 2019-04-02 10:38 ` John Sucaet 2019-04-02 13:38 ` Burakov, Anatoly 1 sibling, 0 replies; 17+ messages in thread From: John Sucaet @ 2019-04-02 10:38 UTC (permalink / raw) To: dev, anatoly.burakov Hi Anatoly, As you said: There's no reason to use igb_uio, ever! I would like to ask whether vfio-pci with or without vIOMMU should/could work for virtio-pci net devices in the case of a 32-bit dpdk application, on a 64-bit kernel (4.9) inside a guest VM (qemu-2.10.2-1.fc27)? I tried both a 64-bit and a 32-bit version of the same application, but only in the case of the 64-bit application, the port was found by eal. The 32-bit application gave errors like: EAL: pci_map_resource(): cannot mmap(16, 0xf4a01000, 0x4000, 0x0): Invalid argument (0xffffffff) EAL: Failed to map pci BAR4 EAL: 0000:00:02.0 mapping BAR4 failed: Invalid argument EAL: Can't write to PCI bar (0) : offset (12) EAL: Can't read from PCI bar (0) : offset (12) EAL: Can't read from PCI bar (0) : offset (12) EAL: Can't write to PCI bar (0) : offset (12) EAL: Can't read from PCI bar (0) : offset (12) EAL: Can't write to PCI bar (0) : offset (12) EAL: Can't read from PCI bar (0) : offset (0) EAL: Can't write to PCI bar (0) : offset (4) EAL: Can't write to PCI bar (0) : offset (14) EAL: Can't read from PCI bar (0) : offset (14) EAL: Can't read from PCI bar (0) : offset (1a) EAL: Can't read from PCI bar (0) : offset (1c) EAL: Can't write to PCI bar (0) : offset (e) EAL: Can't read from PCI bar (0) : offset (c) virtio_init_queue(): virtqueue size is not powerof 2 EAL: Requested device 0000:00:02.0 cannot be used Maybe you have an idea what went wrong here? By preference, I would like to continue to use the 32-bit application which worked fine with the igb_uio driver. Thanks John On 03/12/2019 11:57 AM, Burakov, Anatoly wrote: > On 12-Mar-19 10:20 AM, Bruce Richardson wrote: >> On Tue, Mar 12, 2019 at 05:54:39PM +0800, Jason Wang wrote: >>> >>> On 2019/3/12 下午5:42, Thanneeru Srinivasulu wrote: >>>> Thanks Bruce.. >>>> >>>> On Tue, Mar 12, 2019 at 3:08 PM Bruce Richardson >>>> <bruce.richardson@intel.com> wrote: >>>>> On Tue, Mar 12, 2019 at 10:57:55AM +0530, Thanneeru Srinivasulu >>>>> wrote: >>>>>> Hi Everyone. >>>>>> >>>>>> I did attached pice to Guest VM using vfio-pci with qemu >>>>>> command, and then >>>>>> tried binding the pcie bdf with vfio-pci, observing binding >>>>>> failure with >>>>>> vfio-pci. >>>>>> >>>>>> Where as when tryied with igb_uio, everything works fine. >>>>>> >>>>>> Does Binding with vfio-pci is supported inside VM/guest? >>>>>> >>>>> vfio support requires the presence of an IOMMU, and you generally >>>>> don't >>>>> have an IOMMU available in a VM. >>>>> >>>>> /Bruce >>> >>> >>> Actually, Qemu support vIOMMU + VFIO in guest[1], all you need is to >>> add a >>> intel IOMMU and enabling caching mode. >>> >>> Thanks >>> >>> >>> [1] >>> >>> https://www.lfasiallc.com/wp-content/uploads/2017/11/Device-Assignment-with-Nested-Guests-and-DPDK_Peter-Xu.pdf >>> >>> >> Thanks for the info. >> >> /Bruce >> > > One more thing: even without vIOMMU, VFIO has no-IOMMU mode which can > be enabled (for a recent-enough kernel). This will make VFIO work even > in cases where the guest doesn't have IOMMU emulation. See? There's no > reason to use igb_uio, ever! :D > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Query : Does Binding with vfio-pci is supported inside qemu-kvm guest/vm instance.? 2019-04-02 10:38 ` John Sucaet 2019-04-02 10:38 ` John Sucaet @ 2019-04-02 13:38 ` Burakov, Anatoly 2019-04-02 13:38 ` Burakov, Anatoly 2019-04-03 7:49 ` John Sucaet 1 sibling, 2 replies; 17+ messages in thread From: Burakov, Anatoly @ 2019-04-02 13:38 UTC (permalink / raw) To: John Sucaet, dev, Maxime Coquelin On 02-Apr-19 11:38 AM, John Sucaet wrote: > Hi Anatoly, > > As you said: There's no reason to use igb_uio, ever! That was partly tongue in cheek, but point taken :) > I would like to ask whether vfio-pci with or without vIOMMU should/could > work for virtio-pci net devices in the case of a 32-bit dpdk > application, on a 64-bit kernel (4.9) inside a guest VM > (qemu-2.10.2-1.fc27)? > > I tried both a 64-bit and a 32-bit version of the same application, but > only in the case of the 64-bit application, the port was found by eal. > The 32-bit application gave errors like: > > EAL: pci_map_resource(): cannot mmap(16, 0xf4a01000, 0x4000, 0x0): > Invalid argument (0xffffffff) > EAL: Failed to map pci BAR4 > EAL: 0000:00:02.0 mapping BAR4 failed: Invalid argument > EAL: Can't write to PCI bar (0) : offset (12) > EAL: Can't read from PCI bar (0) : offset (12) > EAL: Can't read from PCI bar (0) : offset (12) > EAL: Can't write to PCI bar (0) : offset (12) > EAL: Can't read from PCI bar (0) : offset (12) > EAL: Can't write to PCI bar (0) : offset (12) > EAL: Can't read from PCI bar (0) : offset (0) > EAL: Can't write to PCI bar (0) : offset (4) > EAL: Can't write to PCI bar (0) : offset (14) > EAL: Can't read from PCI bar (0) : offset (14) > EAL: Can't read from PCI bar (0) : offset (1a) > EAL: Can't read from PCI bar (0) : offset (1c) > EAL: Can't write to PCI bar (0) : offset (e) > EAL: Can't read from PCI bar (0) : offset (c) > virtio_init_queue(): virtqueue size is not powerof 2 > EAL: Requested device 0000:00:02.0 cannot be used > > Maybe you have an idea what went wrong here? > > By preference, I would like to continue to use the 32-bit application > which worked fine with the igb_uio driver. Unfortunately, i am not very familiar with virtio and wouldn't know whether it's supposed to work under these conditions. Perhaps Maxime would be of more help here (CC'd). > > > Thanks > > John > > > On 03/12/2019 11:57 AM, Burakov, Anatoly wrote: >> On 12-Mar-19 10:20 AM, Bruce Richardson wrote: >>> On Tue, Mar 12, 2019 at 05:54:39PM +0800, Jason Wang wrote: >>>> >>>> On 2019/3/12 下午5:42, Thanneeru Srinivasulu wrote: >>>>> Thanks Bruce.. >>>>> >>>>> On Tue, Mar 12, 2019 at 3:08 PM Bruce Richardson >>>>> <bruce.richardson@intel.com> wrote: >>>>>> On Tue, Mar 12, 2019 at 10:57:55AM +0530, Thanneeru Srinivasulu >>>>>> wrote: >>>>>>> Hi Everyone. >>>>>>> >>>>>>> I did attached pice to Guest VM using vfio-pci with qemu >>>>>>> command, and then >>>>>>> tried binding the pcie bdf with vfio-pci, observing binding >>>>>>> failure with >>>>>>> vfio-pci. >>>>>>> >>>>>>> Where as when tryied with igb_uio, everything works fine. >>>>>>> >>>>>>> Does Binding with vfio-pci is supported inside VM/guest? >>>>>>> >>>>>> vfio support requires the presence of an IOMMU, and you generally >>>>>> don't >>>>>> have an IOMMU available in a VM. >>>>>> >>>>>> /Bruce >>>> >>>> >>>> Actually, Qemu support vIOMMU + VFIO in guest[1], all you need is to >>>> add a >>>> intel IOMMU and enabling caching mode. >>>> >>>> Thanks >>>> >>>> >>>> [1] >>>> >>>> https://www.lfasiallc.com/wp-content/uploads/2017/11/Device-Assignment-with-Nested-Guests-and-DPDK_Peter-Xu.pdf >>>> >>>> >>> Thanks for the info. >>> >>> /Bruce >>> >> >> One more thing: even without vIOMMU, VFIO has no-IOMMU mode which can >> be enabled (for a recent-enough kernel). This will make VFIO work even >> in cases where the guest doesn't have IOMMU emulation. See? There's no >> reason to use igb_uio, ever! :D >> > > -- Thanks, Anatoly ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Query : Does Binding with vfio-pci is supported inside qemu-kvm guest/vm instance.? 2019-04-02 13:38 ` Burakov, Anatoly @ 2019-04-02 13:38 ` Burakov, Anatoly 2019-04-03 7:49 ` John Sucaet 1 sibling, 0 replies; 17+ messages in thread From: Burakov, Anatoly @ 2019-04-02 13:38 UTC (permalink / raw) To: John Sucaet, dev, Maxime Coquelin On 02-Apr-19 11:38 AM, John Sucaet wrote: > Hi Anatoly, > > As you said: There's no reason to use igb_uio, ever! That was partly tongue in cheek, but point taken :) > I would like to ask whether vfio-pci with or without vIOMMU should/could > work for virtio-pci net devices in the case of a 32-bit dpdk > application, on a 64-bit kernel (4.9) inside a guest VM > (qemu-2.10.2-1.fc27)? > > I tried both a 64-bit and a 32-bit version of the same application, but > only in the case of the 64-bit application, the port was found by eal. > The 32-bit application gave errors like: > > EAL: pci_map_resource(): cannot mmap(16, 0xf4a01000, 0x4000, 0x0): > Invalid argument (0xffffffff) > EAL: Failed to map pci BAR4 > EAL: 0000:00:02.0 mapping BAR4 failed: Invalid argument > EAL: Can't write to PCI bar (0) : offset (12) > EAL: Can't read from PCI bar (0) : offset (12) > EAL: Can't read from PCI bar (0) : offset (12) > EAL: Can't write to PCI bar (0) : offset (12) > EAL: Can't read from PCI bar (0) : offset (12) > EAL: Can't write to PCI bar (0) : offset (12) > EAL: Can't read from PCI bar (0) : offset (0) > EAL: Can't write to PCI bar (0) : offset (4) > EAL: Can't write to PCI bar (0) : offset (14) > EAL: Can't read from PCI bar (0) : offset (14) > EAL: Can't read from PCI bar (0) : offset (1a) > EAL: Can't read from PCI bar (0) : offset (1c) > EAL: Can't write to PCI bar (0) : offset (e) > EAL: Can't read from PCI bar (0) : offset (c) > virtio_init_queue(): virtqueue size is not powerof 2 > EAL: Requested device 0000:00:02.0 cannot be used > > Maybe you have an idea what went wrong here? > > By preference, I would like to continue to use the 32-bit application > which worked fine with the igb_uio driver. Unfortunately, i am not very familiar with virtio and wouldn't know whether it's supposed to work under these conditions. Perhaps Maxime would be of more help here (CC'd). > > > Thanks > > John > > > On 03/12/2019 11:57 AM, Burakov, Anatoly wrote: >> On 12-Mar-19 10:20 AM, Bruce Richardson wrote: >>> On Tue, Mar 12, 2019 at 05:54:39PM +0800, Jason Wang wrote: >>>> >>>> On 2019/3/12 下午5:42, Thanneeru Srinivasulu wrote: >>>>> Thanks Bruce.. >>>>> >>>>> On Tue, Mar 12, 2019 at 3:08 PM Bruce Richardson >>>>> <bruce.richardson@intel.com> wrote: >>>>>> On Tue, Mar 12, 2019 at 10:57:55AM +0530, Thanneeru Srinivasulu >>>>>> wrote: >>>>>>> Hi Everyone. >>>>>>> >>>>>>> I did attached pice to Guest VM using vfio-pci with qemu >>>>>>> command, and then >>>>>>> tried binding the pcie bdf with vfio-pci, observing binding >>>>>>> failure with >>>>>>> vfio-pci. >>>>>>> >>>>>>> Where as when tryied with igb_uio, everything works fine. >>>>>>> >>>>>>> Does Binding with vfio-pci is supported inside VM/guest? >>>>>>> >>>>>> vfio support requires the presence of an IOMMU, and you generally >>>>>> don't >>>>>> have an IOMMU available in a VM. >>>>>> >>>>>> /Bruce >>>> >>>> >>>> Actually, Qemu support vIOMMU + VFIO in guest[1], all you need is to >>>> add a >>>> intel IOMMU and enabling caching mode. >>>> >>>> Thanks >>>> >>>> >>>> [1] >>>> >>>> https://www.lfasiallc.com/wp-content/uploads/2017/11/Device-Assignment-with-Nested-Guests-and-DPDK_Peter-Xu.pdf >>>> >>>> >>> Thanks for the info. >>> >>> /Bruce >>> >> >> One more thing: even without vIOMMU, VFIO has no-IOMMU mode which can >> be enabled (for a recent-enough kernel). This will make VFIO work even >> in cases where the guest doesn't have IOMMU emulation. See? There's no >> reason to use igb_uio, ever! :D >> > > -- Thanks, Anatoly ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Query : Does Binding with vfio-pci is supported inside qemu-kvm guest/vm instance.? 2019-04-02 13:38 ` Burakov, Anatoly 2019-04-02 13:38 ` Burakov, Anatoly @ 2019-04-03 7:49 ` John Sucaet 2019-04-03 7:49 ` John Sucaet 2019-04-03 7:54 ` Maxime Coquelin 1 sibling, 2 replies; 17+ messages in thread From: John Sucaet @ 2019-04-03 7:49 UTC (permalink / raw) To: Burakov, Anatoly, dev, Maxime Coquelin Thanks, Anatoly. Maxime, could you enlighten me a bit? I basically would like to know whether I should be able to make my 32-bit dpdk application work with virtio-pci-net and vfio-pci (with a 64-bit kernel), or if I should do the effort to port to 64-bit (which I would like to avoid for now). Thank you John On 04/02/2019 03:38 PM, Burakov, Anatoly wrote: > On 02-Apr-19 11:38 AM, John Sucaet wrote: >> Hi Anatoly, >> >> As you said: There's no reason to use igb_uio, ever! > > That was partly tongue in cheek, but point taken :) > >> I would like to ask whether vfio-pci with or without vIOMMU >> should/could work for virtio-pci net devices in the case of a 32-bit >> dpdk application, on a 64-bit kernel (4.9) inside a guest VM >> (qemu-2.10.2-1.fc27)? >> >> I tried both a 64-bit and a 32-bit version of the same application, >> but only in the case of the 64-bit application, the port was found by >> eal. The 32-bit application gave errors like: >> >> EAL: pci_map_resource(): cannot mmap(16, 0xf4a01000, 0x4000, 0x0): >> Invalid argument (0xffffffff) >> EAL: Failed to map pci BAR4 >> EAL: 0000:00:02.0 mapping BAR4 failed: Invalid argument >> EAL: Can't write to PCI bar (0) : offset (12) >> EAL: Can't read from PCI bar (0) : offset (12) >> EAL: Can't read from PCI bar (0) : offset (12) >> EAL: Can't write to PCI bar (0) : offset (12) >> EAL: Can't read from PCI bar (0) : offset (12) >> EAL: Can't write to PCI bar (0) : offset (12) >> EAL: Can't read from PCI bar (0) : offset (0) >> EAL: Can't write to PCI bar (0) : offset (4) >> EAL: Can't write to PCI bar (0) : offset (14) >> EAL: Can't read from PCI bar (0) : offset (14) >> EAL: Can't read from PCI bar (0) : offset (1a) >> EAL: Can't read from PCI bar (0) : offset (1c) >> EAL: Can't write to PCI bar (0) : offset (e) >> EAL: Can't read from PCI bar (0) : offset (c) >> virtio_init_queue(): virtqueue size is not powerof 2 >> EAL: Requested device 0000:00:02.0 cannot be used >> >> Maybe you have an idea what went wrong here? >> >> By preference, I would like to continue to use the 32-bit application >> which worked fine with the igb_uio driver. > > Unfortunately, i am not very familiar with virtio and wouldn't know > whether it's supposed to work under these conditions. Perhaps Maxime > would be of more help here (CC'd). > >> >> >> Thanks >> >> John >> >> >> On 03/12/2019 11:57 AM, Burakov, Anatoly wrote: >>> On 12-Mar-19 10:20 AM, Bruce Richardson wrote: >>>> On Tue, Mar 12, 2019 at 05:54:39PM +0800, Jason Wang wrote: >>>>> >>>>> On 2019/3/12 下午5:42, Thanneeru Srinivasulu wrote: >>>>>> Thanks Bruce.. >>>>>> >>>>>> On Tue, Mar 12, 2019 at 3:08 PM Bruce Richardson >>>>>> <bruce.richardson@intel.com> wrote: >>>>>>> On Tue, Mar 12, 2019 at 10:57:55AM +0530, Thanneeru Srinivasulu >>>>>>> wrote: >>>>>>>> Hi Everyone. >>>>>>>> >>>>>>>> I did attached pice to Guest VM using vfio-pci with qemu >>>>>>>> command, and then >>>>>>>> tried binding the pcie bdf with vfio-pci, observing binding >>>>>>>> failure with >>>>>>>> vfio-pci. >>>>>>>> >>>>>>>> Where as when tryied with igb_uio, everything works fine. >>>>>>>> >>>>>>>> Does Binding with vfio-pci is supported inside VM/guest? >>>>>>>> >>>>>>> vfio support requires the presence of an IOMMU, and you >>>>>>> generally don't >>>>>>> have an IOMMU available in a VM. >>>>>>> >>>>>>> /Bruce >>>>> >>>>> >>>>> Actually, Qemu support vIOMMU + VFIO in guest[1], all you need is >>>>> to add a >>>>> intel IOMMU and enabling caching mode. >>>>> >>>>> Thanks >>>>> >>>>> >>>>> [1] >>>>> >>>>> https://www.lfasiallc.com/wp-content/uploads/2017/11/Device-Assignment-with-Nested-Guests-and-DPDK_Peter-Xu.pdf >>>>> >>>>> >>>> Thanks for the info. >>>> >>>> /Bruce >>>> >>> >>> One more thing: even without vIOMMU, VFIO has no-IOMMU mode which >>> can be enabled (for a recent-enough kernel). This will make VFIO >>> work even in cases where the guest doesn't have IOMMU emulation. >>> See? There's no reason to use igb_uio, ever! :D >>> >> >> > > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Query : Does Binding with vfio-pci is supported inside qemu-kvm guest/vm instance.? 2019-04-03 7:49 ` John Sucaet @ 2019-04-03 7:49 ` John Sucaet 2019-04-03 7:54 ` Maxime Coquelin 1 sibling, 0 replies; 17+ messages in thread From: John Sucaet @ 2019-04-03 7:49 UTC (permalink / raw) To: Burakov, Anatoly, dev, Maxime Coquelin Thanks, Anatoly. Maxime, could you enlighten me a bit? I basically would like to know whether I should be able to make my 32-bit dpdk application work with virtio-pci-net and vfio-pci (with a 64-bit kernel), or if I should do the effort to port to 64-bit (which I would like to avoid for now). Thank you John On 04/02/2019 03:38 PM, Burakov, Anatoly wrote: > On 02-Apr-19 11:38 AM, John Sucaet wrote: >> Hi Anatoly, >> >> As you said: There's no reason to use igb_uio, ever! > > That was partly tongue in cheek, but point taken :) > >> I would like to ask whether vfio-pci with or without vIOMMU >> should/could work for virtio-pci net devices in the case of a 32-bit >> dpdk application, on a 64-bit kernel (4.9) inside a guest VM >> (qemu-2.10.2-1.fc27)? >> >> I tried both a 64-bit and a 32-bit version of the same application, >> but only in the case of the 64-bit application, the port was found by >> eal. The 32-bit application gave errors like: >> >> EAL: pci_map_resource(): cannot mmap(16, 0xf4a01000, 0x4000, 0x0): >> Invalid argument (0xffffffff) >> EAL: Failed to map pci BAR4 >> EAL: 0000:00:02.0 mapping BAR4 failed: Invalid argument >> EAL: Can't write to PCI bar (0) : offset (12) >> EAL: Can't read from PCI bar (0) : offset (12) >> EAL: Can't read from PCI bar (0) : offset (12) >> EAL: Can't write to PCI bar (0) : offset (12) >> EAL: Can't read from PCI bar (0) : offset (12) >> EAL: Can't write to PCI bar (0) : offset (12) >> EAL: Can't read from PCI bar (0) : offset (0) >> EAL: Can't write to PCI bar (0) : offset (4) >> EAL: Can't write to PCI bar (0) : offset (14) >> EAL: Can't read from PCI bar (0) : offset (14) >> EAL: Can't read from PCI bar (0) : offset (1a) >> EAL: Can't read from PCI bar (0) : offset (1c) >> EAL: Can't write to PCI bar (0) : offset (e) >> EAL: Can't read from PCI bar (0) : offset (c) >> virtio_init_queue(): virtqueue size is not powerof 2 >> EAL: Requested device 0000:00:02.0 cannot be used >> >> Maybe you have an idea what went wrong here? >> >> By preference, I would like to continue to use the 32-bit application >> which worked fine with the igb_uio driver. > > Unfortunately, i am not very familiar with virtio and wouldn't know > whether it's supposed to work under these conditions. Perhaps Maxime > would be of more help here (CC'd). > >> >> >> Thanks >> >> John >> >> >> On 03/12/2019 11:57 AM, Burakov, Anatoly wrote: >>> On 12-Mar-19 10:20 AM, Bruce Richardson wrote: >>>> On Tue, Mar 12, 2019 at 05:54:39PM +0800, Jason Wang wrote: >>>>> >>>>> On 2019/3/12 下午5:42, Thanneeru Srinivasulu wrote: >>>>>> Thanks Bruce.. >>>>>> >>>>>> On Tue, Mar 12, 2019 at 3:08 PM Bruce Richardson >>>>>> <bruce.richardson@intel.com> wrote: >>>>>>> On Tue, Mar 12, 2019 at 10:57:55AM +0530, Thanneeru Srinivasulu >>>>>>> wrote: >>>>>>>> Hi Everyone. >>>>>>>> >>>>>>>> I did attached pice to Guest VM using vfio-pci with qemu >>>>>>>> command, and then >>>>>>>> tried binding the pcie bdf with vfio-pci, observing binding >>>>>>>> failure with >>>>>>>> vfio-pci. >>>>>>>> >>>>>>>> Where as when tryied with igb_uio, everything works fine. >>>>>>>> >>>>>>>> Does Binding with vfio-pci is supported inside VM/guest? >>>>>>>> >>>>>>> vfio support requires the presence of an IOMMU, and you >>>>>>> generally don't >>>>>>> have an IOMMU available in a VM. >>>>>>> >>>>>>> /Bruce >>>>> >>>>> >>>>> Actually, Qemu support vIOMMU + VFIO in guest[1], all you need is >>>>> to add a >>>>> intel IOMMU and enabling caching mode. >>>>> >>>>> Thanks >>>>> >>>>> >>>>> [1] >>>>> >>>>> https://www.lfasiallc.com/wp-content/uploads/2017/11/Device-Assignment-with-Nested-Guests-and-DPDK_Peter-Xu.pdf >>>>> >>>>> >>>> Thanks for the info. >>>> >>>> /Bruce >>>> >>> >>> One more thing: even without vIOMMU, VFIO has no-IOMMU mode which >>> can be enabled (for a recent-enough kernel). This will make VFIO >>> work even in cases where the guest doesn't have IOMMU emulation. >>> See? There's no reason to use igb_uio, ever! :D >>> >> >> > > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Query : Does Binding with vfio-pci is supported inside qemu-kvm guest/vm instance.? 2019-04-03 7:49 ` John Sucaet 2019-04-03 7:49 ` John Sucaet @ 2019-04-03 7:54 ` Maxime Coquelin 2019-04-03 7:54 ` Maxime Coquelin 2019-04-04 8:23 ` John Sucaet 1 sibling, 2 replies; 17+ messages in thread From: Maxime Coquelin @ 2019-04-03 7:54 UTC (permalink / raw) To: John Sucaet, Burakov, Anatoly, dev Hi John, On 4/3/19 9:49 AM, John Sucaet wrote: > Thanks, Anatoly. > > Maxime, could you enlighten me a bit? I basically would like to know > whether I should be able to make my 32-bit dpdk application work with > virtio-pci-net and vfio-pci (with a 64-bit kernel), or if I should do > the effort to port to 64-bit (which I would like to avoid for now). I think that it should work, but that's not something I have tried. I will try to reproduce it this week to get a precise idea of what is going wrong. Thanks for reporting the issue, Maxime > Thank you > John > > On 04/02/2019 03:38 PM, Burakov, Anatoly wrote: >> On 02-Apr-19 11:38 AM, John Sucaet wrote: >>> Hi Anatoly, >>> >>> As you said: There's no reason to use igb_uio, ever! >> >> That was partly tongue in cheek, but point taken :) >> >>> I would like to ask whether vfio-pci with or without vIOMMU >>> should/could work for virtio-pci net devices in the case of a 32-bit >>> dpdk application, on a 64-bit kernel (4.9) inside a guest VM >>> (qemu-2.10.2-1.fc27)? >>> >>> I tried both a 64-bit and a 32-bit version of the same application, >>> but only in the case of the 64-bit application, the port was found by >>> eal. The 32-bit application gave errors like: >>> >>> EAL: pci_map_resource(): cannot mmap(16, 0xf4a01000, 0x4000, 0x0): >>> Invalid argument (0xffffffff) >>> EAL: Failed to map pci BAR4 >>> EAL: 0000:00:02.0 mapping BAR4 failed: Invalid argument >>> EAL: Can't write to PCI bar (0) : offset (12) >>> EAL: Can't read from PCI bar (0) : offset (12) >>> EAL: Can't read from PCI bar (0) : offset (12) >>> EAL: Can't write to PCI bar (0) : offset (12) >>> EAL: Can't read from PCI bar (0) : offset (12) >>> EAL: Can't write to PCI bar (0) : offset (12) >>> EAL: Can't read from PCI bar (0) : offset (0) >>> EAL: Can't write to PCI bar (0) : offset (4) >>> EAL: Can't write to PCI bar (0) : offset (14) >>> EAL: Can't read from PCI bar (0) : offset (14) >>> EAL: Can't read from PCI bar (0) : offset (1a) >>> EAL: Can't read from PCI bar (0) : offset (1c) >>> EAL: Can't write to PCI bar (0) : offset (e) >>> EAL: Can't read from PCI bar (0) : offset (c) >>> virtio_init_queue(): virtqueue size is not powerof 2 >>> EAL: Requested device 0000:00:02.0 cannot be used >>> >>> Maybe you have an idea what went wrong here? >>> >>> By preference, I would like to continue to use the 32-bit application >>> which worked fine with the igb_uio driver. >> >> Unfortunately, i am not very familiar with virtio and wouldn't know >> whether it's supposed to work under these conditions. Perhaps Maxime >> would be of more help here (CC'd). >> >>> >>> >>> Thanks >>> >>> John >>> >>> >>> On 03/12/2019 11:57 AM, Burakov, Anatoly wrote: >>>> On 12-Mar-19 10:20 AM, Bruce Richardson wrote: >>>>> On Tue, Mar 12, 2019 at 05:54:39PM +0800, Jason Wang wrote: >>>>>> >>>>>> On 2019/3/12 下午5:42, Thanneeru Srinivasulu wrote: >>>>>>> Thanks Bruce.. >>>>>>> >>>>>>> On Tue, Mar 12, 2019 at 3:08 PM Bruce Richardson >>>>>>> <bruce.richardson@intel.com> wrote: >>>>>>>> On Tue, Mar 12, 2019 at 10:57:55AM +0530, Thanneeru Srinivasulu >>>>>>>> wrote: >>>>>>>>> Hi Everyone. >>>>>>>>> >>>>>>>>> I did attached pice to Guest VM using vfio-pci with qemu >>>>>>>>> command, and then >>>>>>>>> tried binding the pcie bdf with vfio-pci, observing binding >>>>>>>>> failure with >>>>>>>>> vfio-pci. >>>>>>>>> >>>>>>>>> Where as when tryied with igb_uio, everything works fine. >>>>>>>>> >>>>>>>>> Does Binding with vfio-pci is supported inside VM/guest? >>>>>>>>> >>>>>>>> vfio support requires the presence of an IOMMU, and you >>>>>>>> generally don't >>>>>>>> have an IOMMU available in a VM. >>>>>>>> >>>>>>>> /Bruce >>>>>> >>>>>> >>>>>> Actually, Qemu support vIOMMU + VFIO in guest[1], all you need is >>>>>> to add a >>>>>> intel IOMMU and enabling caching mode. >>>>>> >>>>>> Thanks >>>>>> >>>>>> >>>>>> [1] >>>>>> >>>>>> https://www.lfasiallc.com/wp-content/uploads/2017/11/Device-Assignment-with-Nested-Guests-and-DPDK_Peter-Xu.pdf >>>>>> >>>>>> >>>>> Thanks for the info. >>>>> >>>>> /Bruce >>>>> >>>> >>>> One more thing: even without vIOMMU, VFIO has no-IOMMU mode which >>>> can be enabled (for a recent-enough kernel). This will make VFIO >>>> work even in cases where the guest doesn't have IOMMU emulation. >>>> See? There's no reason to use igb_uio, ever! :D >>>> >>> >>> >> >> > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Query : Does Binding with vfio-pci is supported inside qemu-kvm guest/vm instance.? 2019-04-03 7:54 ` Maxime Coquelin @ 2019-04-03 7:54 ` Maxime Coquelin 2019-04-04 8:23 ` John Sucaet 1 sibling, 0 replies; 17+ messages in thread From: Maxime Coquelin @ 2019-04-03 7:54 UTC (permalink / raw) To: John Sucaet, Burakov, Anatoly, dev Hi John, On 4/3/19 9:49 AM, John Sucaet wrote: > Thanks, Anatoly. > > Maxime, could you enlighten me a bit? I basically would like to know > whether I should be able to make my 32-bit dpdk application work with > virtio-pci-net and vfio-pci (with a 64-bit kernel), or if I should do > the effort to port to 64-bit (which I would like to avoid for now). I think that it should work, but that's not something I have tried. I will try to reproduce it this week to get a precise idea of what is going wrong. Thanks for reporting the issue, Maxime > Thank you > John > > On 04/02/2019 03:38 PM, Burakov, Anatoly wrote: >> On 02-Apr-19 11:38 AM, John Sucaet wrote: >>> Hi Anatoly, >>> >>> As you said: There's no reason to use igb_uio, ever! >> >> That was partly tongue in cheek, but point taken :) >> >>> I would like to ask whether vfio-pci with or without vIOMMU >>> should/could work for virtio-pci net devices in the case of a 32-bit >>> dpdk application, on a 64-bit kernel (4.9) inside a guest VM >>> (qemu-2.10.2-1.fc27)? >>> >>> I tried both a 64-bit and a 32-bit version of the same application, >>> but only in the case of the 64-bit application, the port was found by >>> eal. The 32-bit application gave errors like: >>> >>> EAL: pci_map_resource(): cannot mmap(16, 0xf4a01000, 0x4000, 0x0): >>> Invalid argument (0xffffffff) >>> EAL: Failed to map pci BAR4 >>> EAL: 0000:00:02.0 mapping BAR4 failed: Invalid argument >>> EAL: Can't write to PCI bar (0) : offset (12) >>> EAL: Can't read from PCI bar (0) : offset (12) >>> EAL: Can't read from PCI bar (0) : offset (12) >>> EAL: Can't write to PCI bar (0) : offset (12) >>> EAL: Can't read from PCI bar (0) : offset (12) >>> EAL: Can't write to PCI bar (0) : offset (12) >>> EAL: Can't read from PCI bar (0) : offset (0) >>> EAL: Can't write to PCI bar (0) : offset (4) >>> EAL: Can't write to PCI bar (0) : offset (14) >>> EAL: Can't read from PCI bar (0) : offset (14) >>> EAL: Can't read from PCI bar (0) : offset (1a) >>> EAL: Can't read from PCI bar (0) : offset (1c) >>> EAL: Can't write to PCI bar (0) : offset (e) >>> EAL: Can't read from PCI bar (0) : offset (c) >>> virtio_init_queue(): virtqueue size is not powerof 2 >>> EAL: Requested device 0000:00:02.0 cannot be used >>> >>> Maybe you have an idea what went wrong here? >>> >>> By preference, I would like to continue to use the 32-bit application >>> which worked fine with the igb_uio driver. >> >> Unfortunately, i am not very familiar with virtio and wouldn't know >> whether it's supposed to work under these conditions. Perhaps Maxime >> would be of more help here (CC'd). >> >>> >>> >>> Thanks >>> >>> John >>> >>> >>> On 03/12/2019 11:57 AM, Burakov, Anatoly wrote: >>>> On 12-Mar-19 10:20 AM, Bruce Richardson wrote: >>>>> On Tue, Mar 12, 2019 at 05:54:39PM +0800, Jason Wang wrote: >>>>>> >>>>>> On 2019/3/12 下午5:42, Thanneeru Srinivasulu wrote: >>>>>>> Thanks Bruce.. >>>>>>> >>>>>>> On Tue, Mar 12, 2019 at 3:08 PM Bruce Richardson >>>>>>> <bruce.richardson@intel.com> wrote: >>>>>>>> On Tue, Mar 12, 2019 at 10:57:55AM +0530, Thanneeru Srinivasulu >>>>>>>> wrote: >>>>>>>>> Hi Everyone. >>>>>>>>> >>>>>>>>> I did attached pice to Guest VM using vfio-pci with qemu >>>>>>>>> command, and then >>>>>>>>> tried binding the pcie bdf with vfio-pci, observing binding >>>>>>>>> failure with >>>>>>>>> vfio-pci. >>>>>>>>> >>>>>>>>> Where as when tryied with igb_uio, everything works fine. >>>>>>>>> >>>>>>>>> Does Binding with vfio-pci is supported inside VM/guest? >>>>>>>>> >>>>>>>> vfio support requires the presence of an IOMMU, and you >>>>>>>> generally don't >>>>>>>> have an IOMMU available in a VM. >>>>>>>> >>>>>>>> /Bruce >>>>>> >>>>>> >>>>>> Actually, Qemu support vIOMMU + VFIO in guest[1], all you need is >>>>>> to add a >>>>>> intel IOMMU and enabling caching mode. >>>>>> >>>>>> Thanks >>>>>> >>>>>> >>>>>> [1] >>>>>> >>>>>> https://www.lfasiallc.com/wp-content/uploads/2017/11/Device-Assignment-with-Nested-Guests-and-DPDK_Peter-Xu.pdf >>>>>> >>>>>> >>>>> Thanks for the info. >>>>> >>>>> /Bruce >>>>> >>>> >>>> One more thing: even without vIOMMU, VFIO has no-IOMMU mode which >>>> can be enabled (for a recent-enough kernel). This will make VFIO >>>> work even in cases where the guest doesn't have IOMMU emulation. >>>> See? There's no reason to use igb_uio, ever! :D >>>> >>> >>> >> >> > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Query : Does Binding with vfio-pci is supported inside qemu-kvm guest/vm instance.? 2019-04-03 7:54 ` Maxime Coquelin 2019-04-03 7:54 ` Maxime Coquelin @ 2019-04-04 8:23 ` John Sucaet 2019-04-04 8:23 ` John Sucaet 1 sibling, 1 reply; 17+ messages in thread From: John Sucaet @ 2019-04-04 8:23 UTC (permalink / raw) To: Maxime Coquelin, Burakov, Anatoly, dev Hi Maxime, Thanks for your answer. I want to add that I have this problem both with 18.08 and 18.11. Also I am using qemu with machine type pc-q35-2.10 (and pcie-root). When I change it to machine type pc-i440fx-2.4 (and pci-root), I don't see the problem. Ports are in that case, detected in the 32-bit dpdk application, as expected. Hope this helps in finding a reason why mmap failed. Thanks John On 04/03/2019 09:54 AM, Maxime Coquelin wrote: > Hi John, > > On 4/3/19 9:49 AM, John Sucaet wrote: >> Thanks, Anatoly. >> >> Maxime, could you enlighten me a bit? I basically would like to know >> whether I should be able to make my 32-bit dpdk application work with >> virtio-pci-net and vfio-pci (with a 64-bit kernel), or if I should do >> the effort to port to 64-bit (which I would like to avoid for now). > > I think that it should work, but that's not something I have tried. > I will try to reproduce it this week to get a precise idea of what is > going wrong. > > Thanks for reporting the issue, > Maxime > >> Thank you >> John >> >> On 04/02/2019 03:38 PM, Burakov, Anatoly wrote: >>> On 02-Apr-19 11:38 AM, John Sucaet wrote: >>>> Hi Anatoly, >>>> >>>> As you said: There's no reason to use igb_uio, ever! >>> >>> That was partly tongue in cheek, but point taken :) >>> >>>> I would like to ask whether vfio-pci with or without vIOMMU >>>> should/could work for virtio-pci net devices in the case of a >>>> 32-bit dpdk application, on a 64-bit kernel (4.9) inside a guest VM >>>> (qemu-2.10.2-1.fc27)? >>>> >>>> I tried both a 64-bit and a 32-bit version of the same application, >>>> but only in the case of the 64-bit application, the port was found >>>> by eal. The 32-bit application gave errors like: >>>> >>>> EAL: pci_map_resource(): cannot mmap(16, 0xf4a01000, 0x4000, 0x0): >>>> Invalid argument (0xffffffff) >>>> EAL: Failed to map pci BAR4 >>>> EAL: 0000:00:02.0 mapping BAR4 failed: Invalid argument >>>> EAL: Can't write to PCI bar (0) : offset (12) >>>> EAL: Can't read from PCI bar (0) : offset (12) >>>> EAL: Can't read from PCI bar (0) : offset (12) >>>> EAL: Can't write to PCI bar (0) : offset (12) >>>> EAL: Can't read from PCI bar (0) : offset (12) >>>> EAL: Can't write to PCI bar (0) : offset (12) >>>> EAL: Can't read from PCI bar (0) : offset (0) >>>> EAL: Can't write to PCI bar (0) : offset (4) >>>> EAL: Can't write to PCI bar (0) : offset (14) >>>> EAL: Can't read from PCI bar (0) : offset (14) >>>> EAL: Can't read from PCI bar (0) : offset (1a) >>>> EAL: Can't read from PCI bar (0) : offset (1c) >>>> EAL: Can't write to PCI bar (0) : offset (e) >>>> EAL: Can't read from PCI bar (0) : offset (c) >>>> virtio_init_queue(): virtqueue size is not powerof 2 >>>> EAL: Requested device 0000:00:02.0 cannot be used >>>> >>>> Maybe you have an idea what went wrong here? >>>> >>>> By preference, I would like to continue to use the 32-bit >>>> application which worked fine with the igb_uio driver. >>> >>> Unfortunately, i am not very familiar with virtio and wouldn't know >>> whether it's supposed to work under these conditions. Perhaps Maxime >>> would be of more help here (CC'd). >>> >>>> >>>> >>>> Thanks >>>> >>>> John >>>> >>>> >>>> On 03/12/2019 11:57 AM, Burakov, Anatoly wrote: >>>>> On 12-Mar-19 10:20 AM, Bruce Richardson wrote: >>>>>> On Tue, Mar 12, 2019 at 05:54:39PM +0800, Jason Wang wrote: >>>>>>> >>>>>>> On 2019/3/12 下午5:42, Thanneeru Srinivasulu wrote: >>>>>>>> Thanks Bruce.. >>>>>>>> >>>>>>>> On Tue, Mar 12, 2019 at 3:08 PM Bruce Richardson >>>>>>>> <bruce.richardson@intel.com> wrote: >>>>>>>>> On Tue, Mar 12, 2019 at 10:57:55AM +0530, Thanneeru >>>>>>>>> Srinivasulu wrote: >>>>>>>>>> Hi Everyone. >>>>>>>>>> >>>>>>>>>> I did attached pice to Guest VM using vfio-pci with qemu >>>>>>>>>> command, and then >>>>>>>>>> tried binding the pcie bdf with vfio-pci, observing binding >>>>>>>>>> failure with >>>>>>>>>> vfio-pci. >>>>>>>>>> >>>>>>>>>> Where as when tryied with igb_uio, everything works fine. >>>>>>>>>> >>>>>>>>>> Does Binding with vfio-pci is supported inside VM/guest? >>>>>>>>>> >>>>>>>>> vfio support requires the presence of an IOMMU, and you >>>>>>>>> generally don't >>>>>>>>> have an IOMMU available in a VM. >>>>>>>>> >>>>>>>>> /Bruce >>>>>>> >>>>>>> >>>>>>> Actually, Qemu support vIOMMU + VFIO in guest[1], all you need >>>>>>> is to add a >>>>>>> intel IOMMU and enabling caching mode. >>>>>>> >>>>>>> Thanks >>>>>>> >>>>>>> >>>>>>> [1] >>>>>>> >>>>>>> https://www.lfasiallc.com/wp-content/uploads/2017/11/Device-Assignment-with-Nested-Guests-and-DPDK_Peter-Xu.pdf >>>>>>> >>>>>>> >>>>>> Thanks for the info. >>>>>> >>>>>> /Bruce >>>>>> >>>>> >>>>> One more thing: even without vIOMMU, VFIO has no-IOMMU mode which >>>>> can be enabled (for a recent-enough kernel). This will make VFIO >>>>> work even in cases where the guest doesn't have IOMMU emulation. >>>>> See? There's no reason to use igb_uio, ever! :D >>>>> >>>> >>>> >>> >>> >> > . > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [dpdk-dev] Query : Does Binding with vfio-pci is supported inside qemu-kvm guest/vm instance.? 2019-04-04 8:23 ` John Sucaet @ 2019-04-04 8:23 ` John Sucaet 0 siblings, 0 replies; 17+ messages in thread From: John Sucaet @ 2019-04-04 8:23 UTC (permalink / raw) To: Maxime Coquelin, Burakov, Anatoly, dev Hi Maxime, Thanks for your answer. I want to add that I have this problem both with 18.08 and 18.11. Also I am using qemu with machine type pc-q35-2.10 (and pcie-root). When I change it to machine type pc-i440fx-2.4 (and pci-root), I don't see the problem. Ports are in that case, detected in the 32-bit dpdk application, as expected. Hope this helps in finding a reason why mmap failed. Thanks John On 04/03/2019 09:54 AM, Maxime Coquelin wrote: > Hi John, > > On 4/3/19 9:49 AM, John Sucaet wrote: >> Thanks, Anatoly. >> >> Maxime, could you enlighten me a bit? I basically would like to know >> whether I should be able to make my 32-bit dpdk application work with >> virtio-pci-net and vfio-pci (with a 64-bit kernel), or if I should do >> the effort to port to 64-bit (which I would like to avoid for now). > > I think that it should work, but that's not something I have tried. > I will try to reproduce it this week to get a precise idea of what is > going wrong. > > Thanks for reporting the issue, > Maxime > >> Thank you >> John >> >> On 04/02/2019 03:38 PM, Burakov, Anatoly wrote: >>> On 02-Apr-19 11:38 AM, John Sucaet wrote: >>>> Hi Anatoly, >>>> >>>> As you said: There's no reason to use igb_uio, ever! >>> >>> That was partly tongue in cheek, but point taken :) >>> >>>> I would like to ask whether vfio-pci with or without vIOMMU >>>> should/could work for virtio-pci net devices in the case of a >>>> 32-bit dpdk application, on a 64-bit kernel (4.9) inside a guest VM >>>> (qemu-2.10.2-1.fc27)? >>>> >>>> I tried both a 64-bit and a 32-bit version of the same application, >>>> but only in the case of the 64-bit application, the port was found >>>> by eal. The 32-bit application gave errors like: >>>> >>>> EAL: pci_map_resource(): cannot mmap(16, 0xf4a01000, 0x4000, 0x0): >>>> Invalid argument (0xffffffff) >>>> EAL: Failed to map pci BAR4 >>>> EAL: 0000:00:02.0 mapping BAR4 failed: Invalid argument >>>> EAL: Can't write to PCI bar (0) : offset (12) >>>> EAL: Can't read from PCI bar (0) : offset (12) >>>> EAL: Can't read from PCI bar (0) : offset (12) >>>> EAL: Can't write to PCI bar (0) : offset (12) >>>> EAL: Can't read from PCI bar (0) : offset (12) >>>> EAL: Can't write to PCI bar (0) : offset (12) >>>> EAL: Can't read from PCI bar (0) : offset (0) >>>> EAL: Can't write to PCI bar (0) : offset (4) >>>> EAL: Can't write to PCI bar (0) : offset (14) >>>> EAL: Can't read from PCI bar (0) : offset (14) >>>> EAL: Can't read from PCI bar (0) : offset (1a) >>>> EAL: Can't read from PCI bar (0) : offset (1c) >>>> EAL: Can't write to PCI bar (0) : offset (e) >>>> EAL: Can't read from PCI bar (0) : offset (c) >>>> virtio_init_queue(): virtqueue size is not powerof 2 >>>> EAL: Requested device 0000:00:02.0 cannot be used >>>> >>>> Maybe you have an idea what went wrong here? >>>> >>>> By preference, I would like to continue to use the 32-bit >>>> application which worked fine with the igb_uio driver. >>> >>> Unfortunately, i am not very familiar with virtio and wouldn't know >>> whether it's supposed to work under these conditions. Perhaps Maxime >>> would be of more help here (CC'd). >>> >>>> >>>> >>>> Thanks >>>> >>>> John >>>> >>>> >>>> On 03/12/2019 11:57 AM, Burakov, Anatoly wrote: >>>>> On 12-Mar-19 10:20 AM, Bruce Richardson wrote: >>>>>> On Tue, Mar 12, 2019 at 05:54:39PM +0800, Jason Wang wrote: >>>>>>> >>>>>>> On 2019/3/12 下午5:42, Thanneeru Srinivasulu wrote: >>>>>>>> Thanks Bruce.. >>>>>>>> >>>>>>>> On Tue, Mar 12, 2019 at 3:08 PM Bruce Richardson >>>>>>>> <bruce.richardson@intel.com> wrote: >>>>>>>>> On Tue, Mar 12, 2019 at 10:57:55AM +0530, Thanneeru >>>>>>>>> Srinivasulu wrote: >>>>>>>>>> Hi Everyone. >>>>>>>>>> >>>>>>>>>> I did attached pice to Guest VM using vfio-pci with qemu >>>>>>>>>> command, and then >>>>>>>>>> tried binding the pcie bdf with vfio-pci, observing binding >>>>>>>>>> failure with >>>>>>>>>> vfio-pci. >>>>>>>>>> >>>>>>>>>> Where as when tryied with igb_uio, everything works fine. >>>>>>>>>> >>>>>>>>>> Does Binding with vfio-pci is supported inside VM/guest? >>>>>>>>>> >>>>>>>>> vfio support requires the presence of an IOMMU, and you >>>>>>>>> generally don't >>>>>>>>> have an IOMMU available in a VM. >>>>>>>>> >>>>>>>>> /Bruce >>>>>>> >>>>>>> >>>>>>> Actually, Qemu support vIOMMU + VFIO in guest[1], all you need >>>>>>> is to add a >>>>>>> intel IOMMU and enabling caching mode. >>>>>>> >>>>>>> Thanks >>>>>>> >>>>>>> >>>>>>> [1] >>>>>>> >>>>>>> https://www.lfasiallc.com/wp-content/uploads/2017/11/Device-Assignment-with-Nested-Guests-and-DPDK_Peter-Xu.pdf >>>>>>> >>>>>>> >>>>>> Thanks for the info. >>>>>> >>>>>> /Bruce >>>>>> >>>>> >>>>> One more thing: even without vIOMMU, VFIO has no-IOMMU mode which >>>>> can be enabled (for a recent-enough kernel). This will make VFIO >>>>> work even in cases where the guest doesn't have IOMMU emulation. >>>>> See? There's no reason to use igb_uio, ever! :D >>>>> >>>> >>>> >>> >>> >> > . > ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2019-04-04 8:23 UTC | newest] Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-03-12 5:27 [dpdk-dev] Query : Does Binding with vfio-pci is supported inside qemu-kvm guest/vm instance.? Thanneeru Srinivasulu 2019-03-12 9:38 ` Bruce Richardson 2019-03-12 9:42 ` Thanneeru Srinivasulu 2019-03-12 9:54 ` Jason Wang 2019-03-12 10:20 ` Bruce Richardson 2019-03-12 10:57 ` Burakov, Anatoly [not found] ` <CGME20190312110957eucas1p1af74c8d26bf80fd815847ed8086a1e78@eucas1p1.samsung.com> 2019-03-12 11:09 ` Ilya Maximets 2019-04-02 10:38 ` John Sucaet 2019-04-02 10:38 ` John Sucaet 2019-04-02 13:38 ` Burakov, Anatoly 2019-04-02 13:38 ` Burakov, Anatoly 2019-04-03 7:49 ` John Sucaet 2019-04-03 7:49 ` John Sucaet 2019-04-03 7:54 ` Maxime Coquelin 2019-04-03 7:54 ` Maxime Coquelin 2019-04-04 8:23 ` John Sucaet 2019-04-04 8:23 ` John Sucaet
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).