All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.