[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Xen-devel] Fwd: Re: MSI regression with xen hvm domUs using virtio devices
I'm forwarding this to xen-devel too.
I have also tried with latest xen-unstable (commit
feee1ace547cf6247a358d082dd64fa762be2488)
and also with latest qemu upstream unstable (commit
8cfc114a2f293c40077d1bdb7500b29db359ca22) but the problem persist.
Il 03/01/2014 22:14, Konrad Rzeszutek Wilk ha scritto:
> On Thu, Dec 19, 2013 at 01:03:35PM +0100, Fabio Fantoni wrote:
>> Hi, sorry for bothering you.
>> Virtio devices work on xen hvm domUs on windows and on linux with
>> old kernel (for example Squeeze with kernel 2.6.32), while on
>> Precise, Wheezy, Saucy and Sid with kernel >=3.2 they work only with
>> pci=nomsi on the kernel boot line.
> OK.
>> I tried debian experimental kernel (3.12.3) with this patch you made:
>> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=0e4ccb1505a9e29c50170742ce26ac4655baab2d
>> but the problem persists.
> Right, that fixes a different issue.
>> If you know something else that I can try to solve this problem I'm
>> all ears.
>> Otherwise where could I report this problem?
> So, what is it that does not work?
Thanks for your reply.
All virtio devices with xen hvm domUs with kernel > 2.6.32 don't work
without adding pci=nomsi on linux boot kernel line. (the regression
could be between 2.6.32 and 3.2, I not tested kernels between 2.6.32 and
3.2)
I tested with spice vdagent (that use virtio-serial) and virtio-net.
I've used spice vdagent since end of 2011, mainly on window domUs. It
works correctly and also with xen pv driver loaded and is on xen upstream:
http://xenbits.xen.org/gitweb/?p=xen.git;a=commit;h=17b29c1cd830acf8b8ecbc6080264cc5b8ad3c6f
Virtio-net can be setted simply on xl cfg, for example:
vif=['model=virtio-net-pci,bridge=xenbr0'], even if is not officially
supported on xen upstream for now and was working since wei liu "virtio
on xen" project:
http://wiki.xen.org/wiki/Virtio_On_Xen
virtio on xen originally (on 2011) required pci=nomsi in order to works
but after this Wei Liu qemu patch (see below) it works out of the box:
http://git.qemu.org/?p=qemu.git;a=commit;h=f1dbf015dfb0aa7f66f710a1f1bc58b662951de2
About virtio-net there is a regression in qemu 1.6, I have narrowed down
with bisect (one commit between 4 Jul 2013 and 22 Jul 2013). But this is
little out of topic.
What I'm interested in is mainly to solve this regression/problem with
kernel > 2.6.32 with virtio on xen in order to have vdagent working out
of the box in all cases. (also with newer kernel without pci=nomsi)
> Do you see errors on the console?
> Does /proc/interrupts show any number of MSI interrupts going up?
> Is there something obvious in /var/log/xen/qemu-* ?
Only these:
xc: error: linux_gnttab_set_max_grants: ioctl SET_MAX_GRANTS failed (22
= Invalid argument): Internal error
xen be: qdisk-768: xc_gnttab_set_max_grants failed: Invalid argument
but I think that are not related to this problem, are showed also on
domUs without virtio devices.
>
> What does the lspci look like in your earlier kernsl (The ones that
> worked?) OR your /proc/interrupts?
/proc/interrupts seems different from old kernel working without
pci=nomsi and new kernel with both pci=nomsi and not.
On attachments some logs about 3 tests:
- squeeze (debian 6 with kernel 2.6.32) with vdagent and virtio-net,
working (*-squeeze.txt), cmdline: pci=nomsi xen_emul_unplug=never (for
virtio-net)
- precise (ubuntu 12.04 LTS) with vdagent and virtio-net, working
(*-precise-nomsi.txt), cmdline: pci=nomsi xen_emul_unplug=never (for
virtio-net)
- precise (ubuntu 12.04 LTS) with vdagent, not working
(*-precise-onlyvdagent.txt), cmdline: (blank)
The third test have also xl -vvv create and xl dmesg logs only vdagent
to have all working also with xen pv enabled.
When virtio are not working I not saw particular error, only that
vdagent is not working because does not create
/dev/virtio-ports/com.redhat.spice.0.
The only thing I have noticed is the interrupt difference on virtio
devices beetwen squeeze test (PCI-MSI-edge), precise test working
(xen-pirq-ioapic-level) and precise not working (xen-pirq-msi-x).
If you need more details and/or tests tell me and I'll post them.
Thanks for any reply.
|
Attachment:
proc-interrupts-squeeze.txt
Description: Text document
Attachment:
lspci-precise-nomsi.txt
Description: Text document
Attachment:
proc-interrupts-precise-nomsi.txt
Description: Text document
Attachment:
xl-create-precise-onlyvdagent.txt
Description: Text document
Attachment:
xl-dmesg-precise-onlyvdagent.txt
Description: Text document
Attachment:
lspci-precise-onlyvdagent.txt
Description: Text document
Attachment:
proc-interrupts-precise-onlyvdagent.txt
Description: Text document
Attachment:
lsipci-squeeze.txt
Description: Text document
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|