public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@web.de>
To: Amos Kong <akong@redhat.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>, kvm@vger.kernel.org
Subject: Re: current qemu-kvm doesn't work with vhost
Date: Fri, 10 Jun 2011 08:12:16 +0200	[thread overview]
Message-ID: <4DF1B5C0.2070301@web.de> (raw)
In-Reply-To: <20110610030844.GA3847@t400>

On 2011-06-10 05:08, Amos Kong wrote:
> host kernel: 2.6.39-rc2+
> qemu-kvm : 05f1737582ab6c075476bde931c5eafbc62a9349
> 
> (gdb) r -monitor stdio -m 800 ~/RHEL-Server-6.0-64-virtio.qcow2 -snapshot -device virtio-net-pci,netdev=he -netdev tap,vhost=on,id=he
> 
> (qemu) [New Thread 0x7fffbe7dd700 (LWP 10410)]
> [New Thread 0x7fffbdfdc700 (LWP 10411)]
> qemu-kvm: /project/rh/qemu-kvm/hw/msix.c:616: msix_unset_mask_notifier: Assertion `dev->msix_mask_notifier' failed.
> 
> Program received signal SIGABRT, Aborted.
> [Switching to Thread 0x7ffff3233700 (LWP 10405)]
> 0x00007ffff6593ba5 in raise () from /lib/libc.so.6
> (gdb) bt
> #0  0x00007ffff6593ba5 in raise () from /lib/libc.so.6
> #1  0x00007ffff65976b0 in abort () from /lib/libc.so.6
> #2  0x00007ffff658ca71 in __assert_fail () from /lib/libc.so.6
> #3  0x00000000005754eb in msix_unset_mask_notifier (dev=0x1e56c50) at /project/rh/qemu-kvm/hw/msix.c:616
> #4  0x0000000000571ea4 in virtio_pci_set_guest_notifiers (opaque=0x1e56c50, assign=true) at /project/rh/qemu-kvm/hw/virtio-pci.c:674
> #5  0x000000000042c279 in vhost_dev_start (hdev=0x11c0420, vdev=0x1c40f10) at /project/rh/qemu-kvm/hw/vhost.c:710
> #6  0x0000000000429fe9 in vhost_net_start (net=0x11c0420, dev=0x1c40f10) at /project/rh/qemu-kvm/hw/vhost_net.c:142
> #7  0x0000000000425644 in virtio_net_vhost_status (n=0x1c40f10, status=7 '\a') at /project/rh/qemu-kvm/hw/virtio-net.c:127
> #8  0x00000000004256ec in virtio_net_set_status (vdev=0x1c40f10, status=7 '\a') at /project/rh/qemu-kvm/hw/virtio-net.c:144
> #9  0x00000000005709e6 in virtio_set_status (vdev=0x1c40f10, val=7 '\a') at /project/rh/qemu-kvm/hw/virtio.h:136
> #10 0x000000000057136f in virtio_ioport_write (opaque=0x1e56c50, addr=18, val=7) at /project/rh/qemu-kvm/hw/virtio-pci.c:338
> #11 0x00000000005717db in virtio_pci_config_writeb (opaque=0x1e56c50, addr=18, val=7) at /project/rh/qemu-kvm/hw/virtio-pci.c:462
> #12 0x000000000048409d in ioport_write (index=0, address=49202, data=7) at ioport.c:81
> #13 0x0000000000484756 in cpu_outb (addr=49202, val=7 '\a') at ioport.c:266
> #14 0x0000000000432dd2 in kvm_handle_io (port=49202, data=0x7ffff7ff3000, direction=1, size=1, count=1) at /project/rh/qemu-kvm/kvm-all.c:864
> #15 0x0000000000433266 in kvm_cpu_exec (env=0x188e5b0) at /project/rh/qemu-kvm/kvm-all.c:1008
> #16 0x00000000004091ef in qemu_kvm_cpu_thread_fn (arg=0x188e5b0) at /project/rh/qemu-kvm/cpus.c:808
> #17 0x00007ffff79be971 in start_thread () from /lib/libpthread.so.0
> #18 0x00007ffff664692d in clone () from /lib/libc.so.6
> #19 0x0000000000000000 in ?? ()

I already came across that symptom in a different context. Fixed by the
patch below. 

However, the real issue is related to an upstream cleanup of the
virtio-pci build. That reveals some unneeded build dependencies in
qemu-kvm. Will post a fix.

Jan

-----8<-----

From: Jan Kiszka <jan.kiszka@siemens.com>
qemu-kvm: Fix error path of virtio_pci_set_guest_notifiers

The mask notifier is never installed on error, so this deinstallation
will just trigger an assert in msix_unset_mask_notifier.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 hw/virtio-pci.c |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)

diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c
index c4735c5..311c47b 100644
--- a/hw/virtio-pci.c
+++ b/hw/virtio-pci.c
@@ -688,10 +688,6 @@ static int virtio_pci_set_guest_notifiers(void *opaque, bool assign)
 
 assign_error:
     /* We get here on assignment failure. Recover by undoing for VQs 0 .. n. */
-    if (assign) {
-        msix_unset_mask_notifier(&proxy->pci_dev);
-    }
-
     while (--n >= 0) {
         virtio_pci_set_guest_notifier(opaque, n, !assign);
     }

  reply	other threads:[~2011-06-10  6:12 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-10  3:08 current qemu-kvm doesn't work with vhost Amos Kong
2011-06-10  6:12 ` Jan Kiszka [this message]
2011-06-17  7:10   ` Georg Hopp
2011-06-17  7:29     ` Jan Kiszka
2011-06-17 20:31       ` AW: " Georg Hopp
2011-06-19  8:58         ` Jan Kiszka
2011-06-21  4:59           ` AW: " Georg Hopp
2011-06-21  5:20           ` Georg Hopp
2011-06-19  8:56   ` Avi Kivity

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4DF1B5C0.2070301@web.de \
    --to=jan.kiszka@web.de \
    --cc=akong@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=mst@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox