All of lore.kernel.org
 help / color / mirror / Atom feed
From: TU BO <tubo@linux.vnet.ibm.com>
To: Cornelia Huck <cornelia.huck@de.ibm.com>, qemu-devel@nongnu.org
Cc: pbonzini@redhat.com, famz@redhat.com, borntraeger@de.ibm.com,
	stefanha@redhat.com, mst@redhat.com
Subject: Re: [Qemu-devel] [PATCH 0/6] virtio: refactor host notifiers
Date: Mon, 28 Mar 2016 11:55:29 +0800	[thread overview]
Message-ID: <56F8AB31.1090107@linux.vnet.ibm.com> (raw)
In-Reply-To: <1458836125-73613-1-git-send-email-cornelia.huck@de.ibm.com>

Hi Cornelia:

I got two crash with qemu master + "[PATCH 0/6] virtio: refactor host 
notifiers",

I can get first crash very often.
(gdb) bt
#0  blk_aio_read_entry (opaque=0x0) at block/block-backend.c:922
#1  0x000002aa17a65f0e in coroutine_trampoline (i0=<optimized out>, 
i1=-1677713216) at util/coroutine-ucontext.c:78
#2  0x000003ffabfd150a in __makecontext_ret () from /lib64/libc.so.6
(gdb) list
917    static void blk_aio_read_entry(void *opaque)
918    {
919        BlkAioEmAIOCB *acb = opaque;
920        BlkRwCo *rwco = &acb->rwco;
921
922        rwco->ret = blk_co_preadv(rwco->blk, rwco->offset, 
rwco->qiov->size,
923                                  rwco->qiov, rwco->flags);
924        blk_aio_complete(acb);
925    }


For 2nd crash,  I just saw it once, and didn't reproduce it later.
(gdb) bt
#0  ioq_submit (s=s@entry=0x2aa3fe2cc80) at block/linux-aio.c:197
#1  0x000002aa3f645b36 in qemu_laio_completion_bh (opaque=0x2aa3fe2cc80) 
at block/linux-aio.c:143
#2  0x000002aa3f5ffbf0 in aio_bh_call (bh=<optimized out>) at async.c:65
#3  aio_bh_poll (ctx=0x2aa3fdf7e00) at async.c:93
#4  0x000002aa3f60a51e in aio_dispatch (ctx=ctx@entry=0x2aa3fdf7e00) at 
aio-posix.c:306
#5  0x000002aa3f60a7ca in aio_poll (ctx=0x2aa3fdf7e00, 
blocking=<optimized out>) at aio-posix.c:475
#6  0x000002aa3f53903c in iothread_run (opaque=0x2aa3fdf7220) at 
iothread.c:46
#7  0x000003ffa86084c6 in start_thread () from /lib64/libpthread.so.0
#8  0x000003ffa7c82ec2 in thread_start () from /lib64/libc.so.6
(gdb) list
192        struct iocb *iocbs[MAX_QUEUED_IO];
193        QSIMPLEQ_HEAD(, qemu_laiocb) completed;
194
195        do {
196            len = 0;
197            QSIMPLEQ_FOREACH(aiocb, &s->io_q.pending, next) {
198                iocbs[len++] = &aiocb->iocb;
199                if (len == MAX_QUEUED_IO) {
200                    break;
201                }


On 16/3/25 上午12:15, Cornelia Huck wrote:
> Here's the next version of my refactoring of the virtio host notifiers.
> This one actually survives a bit of testing for me (reboot loop).
>
> As this patchset fixes a latent bug exposed by the recent dataplane
> changes (we have a deassigned ioeventfd for a short period of time
> during dataplane start, which leads to the virtqueue handler being
> called in both the vcpu thread and the iothread simultaneously), I'd
> like to see this in 2.6.
>
> Changes from RFC:
> - Fixed some silly errors (checking for !disabled instead of disabled,
>    virtio_ccw_stop_ioeventfd() calling virtio_bus_start_ioeventfd()).
> - Completely reworked set_host_notifier(): We only want to set/unset
>    the actual handler function and don't want to do anything to the
>    ioeventfd backing, so reduce the function to actually doing only
>    that.
> - With the change above, we can lose the 'assign' parameter in
>    virtio_bus_stop_ioeventfd() again.
> - Added more comments that hopefully make it clearer what is going on.
>
> I'd appreciate it if people could give it some testing; I'll be back
> to look at the fallout after Easter.
>
> Cornelia Huck (6):
>    virtio-bus: common ioeventfd infrastructure
>    virtio-bus: have callers tolerate new host notifier api
>    virtio-ccw: convert to ioeventfd callbacks
>    virtio-pci: convert to ioeventfd callbacks
>    virtio-mmio: convert to ioeventfd callbacks
>    virtio-bus: remove old set_host_notifier callback
>
>   hw/block/dataplane/virtio-blk.c |   6 +-
>   hw/s390x/virtio-ccw.c           | 133 ++++++++++++++--------------------------
>   hw/scsi/virtio-scsi-dataplane.c |   9 ++-
>   hw/virtio/vhost.c               |  13 ++--
>   hw/virtio/virtio-bus.c          | 132 +++++++++++++++++++++++++++++++++++++++
>   hw/virtio/virtio-mmio.c         | 128 +++++++++++++-------------------------
>   hw/virtio/virtio-pci.c          | 124 +++++++++++++------------------------
>   include/hw/virtio/virtio-bus.h  |  31 +++++++++-
>   8 files changed, 303 insertions(+), 273 deletions(-)
>

  parent reply	other threads:[~2016-03-28  3:55 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-24 16:15 [Qemu-devel] [PATCH 0/6] virtio: refactor host notifiers Cornelia Huck
2016-03-24 16:15 ` [Qemu-devel] [PATCH 1/6] virtio-bus: common ioeventfd infrastructure Cornelia Huck
2016-03-24 16:15 ` [Qemu-devel] [PATCH 2/6] virtio-bus: have callers tolerate new host notifier api Cornelia Huck
2016-03-24 16:15 ` [Qemu-devel] [PATCH 3/6] virtio-ccw: convert to ioeventfd callbacks Cornelia Huck
2016-03-24 16:15 ` [Qemu-devel] [PATCH 4/6] virtio-pci: " Cornelia Huck
2016-03-24 16:15 ` [Qemu-devel] [PATCH 5/6] virtio-mmio: " Cornelia Huck
2016-03-24 16:15 ` [Qemu-devel] [PATCH 6/6] virtio-bus: remove old set_host_notifier callback Cornelia Huck
2016-03-24 17:06 ` [Qemu-devel] [PATCH 0/6] virtio: refactor host notifiers Paolo Bonzini
2016-03-29  8:18   ` Cornelia Huck
2016-03-29  9:15     ` Paolo Bonzini
2016-03-25  9:52 ` Fam Zheng
2016-03-28  3:55 ` TU BO [this message]
2016-03-28 18:11   ` Paolo Bonzini
2016-03-29  9:14     ` tu bo
2016-03-29 11:45       ` Cornelia Huck
2016-03-29 13:50         ` Paolo Bonzini
2016-03-29 16:27           ` Christian Borntraeger
2016-03-31  2:37             ` tu bo
2016-03-31  5:47             ` tu bo
2016-03-29 11:54       ` Christian Borntraeger
2016-03-31  2:47         ` tu bo
2016-03-29 13:23 ` Christian Borntraeger
2016-03-29 13:38   ` Michael S. Tsirkin

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=56F8AB31.1090107@linux.vnet.ibm.com \
    --to=tubo@linux.vnet.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cornelia.huck@de.ibm.com \
    --cc=famz@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@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.