* [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).