* [Qemu-devel] Virtual IOMMU + Virtio-net devices in a Windows VM doesn't work @ 2018-07-23 20:13 Jintack Lim 2018-07-24 5:55 ` Peter Xu 0 siblings, 1 reply; 6+ messages in thread From: Jintack Lim @ 2018-07-23 20:13 UTC (permalink / raw) To: QEMU Devel Mailing List Hi, I'm running a Windows VM on top of KVM on x86, and one of virtio-net device in the Windows VM doesn't seem to work. I provided virtual IOMMU and two virtio-net devices to the VM: one bypassing the virtual IOMMU and the other one behind the virtual IOMMU[1]. It turned out that the virtio-net device behind virtual IOMMU didn't work while the one bypassing the virtual IOMMU worked well. In a linux VM with the same configuration, both of virtio-net device worked well. I found that there is a subtle difference between virtio-net devices bypassing and behind virtual IOMMU in a Linux VM. The lscpu command in the Linux VM shows different device names for them; the first line is for the bypassing one, and the second line is for the one behind the virtual IOMMU 00:03.0 Ethernet controller: Red Hat, Inc Virtio network device 01:00.0 Ethernet controller: Red Hat, Inc Device 1041 (rev 01) I wonder if this difference somehow caused the problem in the Windows VM. I've installed the latest virtio drivers (0.1.149) from the fedora project [2] Any thoughts? I'm using v4.15 Linux kernel as a host, and QEMU 2.11.0. Thanks, Jintack [1] https://wiki.qemu.org/Features/VT-d [2] https://docs.fedoraproject.org/quick-docs/en-US/creating-windows-virtual-machines-using-virtio-drivers.html ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] Virtual IOMMU + Virtio-net devices in a Windows VM doesn't work 2018-07-23 20:13 [Qemu-devel] Virtual IOMMU + Virtio-net devices in a Windows VM doesn't work Jintack Lim @ 2018-07-24 5:55 ` Peter Xu 2018-07-24 11:57 ` Michael S. Tsirkin 2018-07-26 2:53 ` Jintack Lim 0 siblings, 2 replies; 6+ messages in thread From: Peter Xu @ 2018-07-24 5:55 UTC (permalink / raw) To: Jintack Lim; +Cc: QEMU Devel Mailing List, Jason Wang, Michael S. Tsirkin On Mon, Jul 23, 2018 at 04:13:18PM -0400, Jintack Lim wrote: > Hi, > > I'm running a Windows VM on top of KVM on x86, and one of virtio-net > device in the Windows VM doesn't seem to work. I provided virtual > IOMMU and two virtio-net devices to the VM: one bypassing the virtual > IOMMU and the other one behind the virtual IOMMU[1]. It turned out > that the virtio-net device behind virtual IOMMU didn't work while the > one bypassing the virtual IOMMU worked well. In a linux VM with the > same configuration, both of virtio-net device worked well. > > I found that there is a subtle difference between virtio-net devices > bypassing and behind virtual IOMMU in a Linux VM. The lscpu command in > the Linux VM shows different device names for them; the first line is > for the bypassing one, and the second line is for the one behind the > virtual IOMMU > > 00:03.0 Ethernet controller: Red Hat, Inc Virtio network device > 01:00.0 Ethernet controller: Red Hat, Inc Device 1041 (rev 01) > > I wonder if this difference somehow caused the problem in the Windows > VM. I've installed the latest virtio drivers (0.1.149) from the fedora > project [2] > > Any thoughts? > > I'm using v4.15 Linux kernel as a host, and QEMU 2.11.0. Have you tried the latest QEMU? Also CC Jason and Michael. > > Thanks, > Jintack > > [1] https://wiki.qemu.org/Features/VT-d > [2] https://docs.fedoraproject.org/quick-docs/en-US/creating-windows-virtual-machines-using-virtio-drivers.html > > Regards, -- Peter Xu ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] Virtual IOMMU + Virtio-net devices in a Windows VM doesn't work 2018-07-24 5:55 ` Peter Xu @ 2018-07-24 11:57 ` Michael S. Tsirkin 2018-07-26 2:53 ` Jintack Lim 1 sibling, 0 replies; 6+ messages in thread From: Michael S. Tsirkin @ 2018-07-24 11:57 UTC (permalink / raw) To: Peter Xu; +Cc: Jintack Lim, QEMU Devel Mailing List, Jason Wang, yvugenfi On Tue, Jul 24, 2018 at 01:55:01PM +0800, Peter Xu wrote: > On Mon, Jul 23, 2018 at 04:13:18PM -0400, Jintack Lim wrote: > > Hi, > > > > I'm running a Windows VM on top of KVM on x86, and one of virtio-net > > device in the Windows VM doesn't seem to work. I provided virtual > > IOMMU and two virtio-net devices to the VM: one bypassing the virtual > > IOMMU and the other one behind the virtual IOMMU[1]. It turned out > > that the virtio-net device behind virtual IOMMU didn't work while the > > one bypassing the virtual IOMMU worked well. In a linux VM with the > > same configuration, both of virtio-net device worked well. > > > > I found that there is a subtle difference between virtio-net devices > > bypassing and behind virtual IOMMU in a Linux VM. The lscpu command in > > the Linux VM shows different device names for them; the first line is > > for the bypassing one, and the second line is for the one behind the > > virtual IOMMU > > > > 00:03.0 Ethernet controller: Red Hat, Inc Virtio network device > > 01:00.0 Ethernet controller: Red Hat, Inc Device 1041 (rev 01) > > > > I wonder if this difference somehow caused the problem in the Windows > > VM. I've installed the latest virtio drivers (0.1.149) from the fedora > > project [2] > > > > Any thoughts? > > > > I'm using v4.15 Linux kernel as a host, and QEMU 2.11.0. > > Have you tried the latest QEMU? > > Also CC Jason and Michael. I'm not sure windows virtio drivers support the virtual iommu option. CC Yan to make sure. > > > > Thanks, > > Jintack > > > > [1] https://wiki.qemu.org/Features/VT-d > > [2] https://docs.fedoraproject.org/quick-docs/en-US/creating-windows-virtual-machines-using-virtio-drivers.html > > > > > > Regards, > > -- > Peter Xu ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] Virtual IOMMU + Virtio-net devices in a Windows VM doesn't work 2018-07-24 5:55 ` Peter Xu 2018-07-24 11:57 ` Michael S. Tsirkin @ 2018-07-26 2:53 ` Jintack Lim 2018-07-29 11:44 ` Yan Vugenfirer 1 sibling, 1 reply; 6+ messages in thread From: Jintack Lim @ 2018-07-26 2:53 UTC (permalink / raw) To: Peter Xu; +Cc: QEMU Devel Mailing List, Jason Wang, \ Michael S . Tsirkin \ Hi Peter, On Tue, Jul 24, 2018 at 1:55 AM Peter Xu <peterx@redhat.com> wrote: > > On Mon, Jul 23, 2018 at 04:13:18PM -0400, Jintack Lim wrote: > > Hi, > > > > I'm running a Windows VM on top of KVM on x86, and one of virtio-net > > device in the Windows VM doesn't seem to work. I provided virtual > > IOMMU and two virtio-net devices to the VM: one bypassing the virtual > > IOMMU and the other one behind the virtual IOMMU[1]. It turned out > > that the virtio-net device behind virtual IOMMU didn't work while the > > one bypassing the virtual IOMMU worked well. In a linux VM with the > > same configuration, both of virtio-net device worked well. > > > > I found that there is a subtle difference between virtio-net devices > > bypassing and behind virtual IOMMU in a Linux VM. The lscpu command in > > the Linux VM shows different device names for them; the first line is > > for the bypassing one, and the second line is for the one behind the > > virtual IOMMU > > > > 00:03.0 Ethernet controller: Red Hat, Inc Virtio network device > > 01:00.0 Ethernet controller: Red Hat, Inc Device 1041 (rev 01) > > > > I wonder if this difference somehow caused the problem in the Windows > > VM. I've installed the latest virtio drivers (0.1.149) from the fedora > > project [2] > > > > Any thoughts? > > > > I'm using v4.15 Linux kernel as a host, and QEMU 2.11.0. > > Have you tried the latest QEMU? > I just tried the latest QEMU, but observed the same symptom. > Also CC Jason and Michael. Thanks! > > > > > Thanks, > > Jintack > > > > [1] https://wiki.qemu.org/Features/VT-d > > [2] https://docs.fedoraproject.org/quick-docs/en-US/creating-windows-virtual-machines-using-virtio-drivers.html > > > > > > Regards, > > -- > Peter Xu > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] Virtual IOMMU + Virtio-net devices in a Windows VM doesn't work 2018-07-26 2:53 ` Jintack Lim @ 2018-07-29 11:44 ` Yan Vugenfirer 2018-07-29 11:53 ` Jintack Lim 0 siblings, 1 reply; 6+ messages in thread From: Yan Vugenfirer @ 2018-07-29 11:44 UTC (permalink / raw) To: Jintack Lim Cc: Peter Xu, Jason Wang, QEMU Devel Mailing List, \ Michael S . Tsirkin \ > On 26 Jul 2018, at 05:53, Jintack Lim <jintack@cs.columbia.edu> wrote: > > Hi Peter, > > On Tue, Jul 24, 2018 at 1:55 AM Peter Xu <peterx@redhat.com> wrote: >> >> On Mon, Jul 23, 2018 at 04:13:18PM -0400, Jintack Lim wrote: >>> Hi, >>> >>> I'm running a Windows VM on top of KVM on x86, and one of virtio-net Hi, What Windows OS are you using? Keep in mind that IOMMU support in Windows drivers will work in Windows 10 and Windows Server 2016. What’s the version of the virtio-win drivers are you using (should be build 150 and up, or to include the following commit: https://github.com/virtio-win/kvm-guest-drivers-windows/commit/eac3270d10924903ff38a08fcdaa252604d2e4a9)? Best regards, Yan. >>> device in the Windows VM doesn't seem to work. I provided virtual >>> IOMMU and two virtio-net devices to the VM: one bypassing the virtual >>> IOMMU and the other one behind the virtual IOMMU[1]. It turned out >>> that the virtio-net device behind virtual IOMMU didn't work while the >>> one bypassing the virtual IOMMU worked well. In a linux VM with the >>> same configuration, both of virtio-net device worked well. >>> >>> I found that there is a subtle difference between virtio-net devices >>> bypassing and behind virtual IOMMU in a Linux VM. The lscpu command in >>> the Linux VM shows different device names for them; the first line is >>> for the bypassing one, and the second line is for the one behind the >>> virtual IOMMU >>> >>> 00:03.0 Ethernet controller: Red Hat, Inc Virtio network device >>> 01:00.0 Ethernet controller: Red Hat, Inc Device 1041 (rev 01) >>> >>> I wonder if this difference somehow caused the problem in the Windows >>> VM. I've installed the latest virtio drivers (0.1.149) from the fedora >>> project [2] >>> >>> Any thoughts? >>> >>> I'm using v4.15 Linux kernel as a host, and QEMU 2.11.0. >> >> Have you tried the latest QEMU? >> > > I just tried the latest QEMU, but observed the same symptom. > >> Also CC Jason and Michael. > > Thanks! > >> >>> >>> Thanks, >>> Jintack >>> >>> [1] https://wiki.qemu.org/Features/VT-d >>> [2] https://docs.fedoraproject.org/quick-docs/en-US/creating-windows-virtual-machines-using-virtio-drivers.html >>> >>> >> >> Regards, >> >> -- >> Peter Xu >> > > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] Virtual IOMMU + Virtio-net devices in a Windows VM doesn't work 2018-07-29 11:44 ` Yan Vugenfirer @ 2018-07-29 11:53 ` Jintack Lim 0 siblings, 0 replies; 6+ messages in thread From: Jintack Lim @ 2018-07-29 11:53 UTC (permalink / raw) To: yvugenfi Cc: Peter Xu, Jason Wang, QEMU Devel Mailing List, \ Michael S . Tsirkin \ Thanks, Yan. On Sun, Jul 29, 2018 at 7:44 AM Yan Vugenfirer <yvugenfi@redhat.com> wrote: > > > > > On 26 Jul 2018, at 05:53, Jintack Lim <jintack@cs.columbia.edu> wrote: > > > > Hi Peter, > > > > On Tue, Jul 24, 2018 at 1:55 AM Peter Xu <peterx@redhat.com> wrote: > >> > >> On Mon, Jul 23, 2018 at 04:13:18PM -0400, Jintack Lim wrote: > >>> Hi, > >>> > >>> I'm running a Windows VM on top of KVM on x86, and one of virtio-net > Hi, > > What Windows OS are you using? Keep in mind that IOMMU support in Windows drivers will work in Windows 10 and Windows Server 2016. > What’s the version of the virtio-win drivers are you using (should be build 150 and up, or to include the following commit: https://github.com/virtio-win/kvm-guest-drivers-windows/commit/eac3270d10924903ff38a08fcdaa252604d2e4a9)? > I'm using Windows Server 2016, and the virtio-win driver version is 0.1.149, which is the latest binary from here [1]. I'll try to build 150, and test it again. Thanks for the confirmation! [1] https://docs.fedoraproject.org/quick-docs/en-US/creating-windows-virtual-machines-using-virtio-drivers.html > Best regards, > Yan. > > >>> device in the Windows VM doesn't seem to work. I provided virtual > >>> IOMMU and two virtio-net devices to the VM: one bypassing the virtual > >>> IOMMU and the other one behind the virtual IOMMU[1]. It turned out > >>> that the virtio-net device behind virtual IOMMU didn't work while the > >>> one bypassing the virtual IOMMU worked well. In a linux VM with the > >>> same configuration, both of virtio-net device worked well. > >>> > >>> I found that there is a subtle difference between virtio-net devices > >>> bypassing and behind virtual IOMMU in a Linux VM. The lscpu command in > >>> the Linux VM shows different device names for them; the first line is > >>> for the bypassing one, and the second line is for the one behind the > >>> virtual IOMMU > >>> > >>> 00:03.0 Ethernet controller: Red Hat, Inc Virtio network device > >>> 01:00.0 Ethernet controller: Red Hat, Inc Device 1041 (rev 01) > >>> > >>> I wonder if this difference somehow caused the problem in the Windows > >>> VM. I've installed the latest virtio drivers (0.1.149) from the fedora > >>> project [2] > >>> > >>> Any thoughts? > >>> > >>> I'm using v4.15 Linux kernel as a host, and QEMU 2.11.0. > >> > >> Have you tried the latest QEMU? > >> > > > > I just tried the latest QEMU, but observed the same symptom. > > > >> Also CC Jason and Michael. > > > > Thanks! > > > >> > >>> > >>> Thanks, > >>> Jintack > >>> > >>> [1] https://wiki.qemu.org/Features/VT-d > >>> [2] https://docs.fedoraproject.org/quick-docs/en-US/creating-windows-virtual-machines-using-virtio-drivers.html > >>> > >>> > >> > >> Regards, > >> > >> -- > >> Peter Xu > >> > > > > > > ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-07-29 11:54 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-07-23 20:13 [Qemu-devel] Virtual IOMMU + Virtio-net devices in a Windows VM doesn't work Jintack Lim 2018-07-24 5:55 ` Peter Xu 2018-07-24 11:57 ` Michael S. Tsirkin 2018-07-26 2:53 ` Jintack Lim 2018-07-29 11:44 ` Yan Vugenfirer 2018-07-29 11:53 ` Jintack Lim
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).