Re: [Qemu-devel] [PATCH 1/1] virtio-blk: fix race on guest notifiers

2017-03-06 Thread Halil Pasic
On 03/06/2017 03:55 PM, Paolo Bonzini wrote: > > On 03/03/2017 20:43, Halil Pasic wrote: >> Uh, this is complicated. I'm not out of questions, but I fear taking to >> much of your precious time. I will ask again nevertheless, but please >> just cut the conversation with -EBUSY if it gets to expe

Re: [Qemu-devel] [PATCH 1/1] virtio-blk: fix race on guest notifiers

2017-03-06 Thread Paolo Bonzini
On 03/03/2017 20:43, Halil Pasic wrote: > Uh, this is complicated. I'm not out of questions, but I fear taking to > much of your precious time. I will ask again nevertheless, but please > just cut the conversation with -EBUSY if it gets to expensive. It's the opposite! I need other people to lo

Re: [Qemu-devel] [PATCH 1/1] virtio-blk: fix race on guest notifiers

2017-03-03 Thread Halil Pasic
On 03/02/2017 05:21 PM, Paolo Bonzini wrote: > > > On 02/03/2017 16:55, Halil Pasic wrote: > blk_set_aio_context(s->conf->conf.blk, qemu_get_aio_context()); >> I'm wondering if synchronization is needed for batch_notify_vqs. I think >> the set_bit can be from the iothread, but the noti

Re: [Qemu-devel] [PATCH 1/1] virtio-blk: fix race on guest notifiers

2017-03-02 Thread Paolo Bonzini
On 02/03/2017 16:55, Halil Pasic wrote: blk_set_aio_context(s->conf->conf.blk, qemu_get_aio_context()); > I'm wondering if synchronization is needed for batch_notify_vqs. I think > the set_bit can be from the iothread, but the notify_guest_bh below is main > event loop. Is it OK like th

Re: [Qemu-devel] [PATCH 1/1] virtio-blk: fix race on guest notifiers

2017-03-02 Thread Halil Pasic
On 03/02/2017 04:32 PM, Paolo Bonzini wrote: > > > On 02/03/2017 15:49, Cornelia Huck wrote: >> On Thu, 2 Mar 2017 14:04:22 +0100 >> Halil Pasic wrote: >> >>> diff --git a/hw/block/dataplane/virtio-blk.c >>> b/hw/block/dataplane/virtio-blk.c >>> index 5556f0e..13dd14d 100644 >>> --- a/hw/blo

Re: [Qemu-devel] [PATCH 1/1] virtio-blk: fix race on guest notifiers

2017-03-02 Thread Paolo Bonzini
On 02/03/2017 15:49, Cornelia Huck wrote: > On Thu, 2 Mar 2017 14:04:22 +0100 > Halil Pasic wrote: > >> diff --git a/hw/block/dataplane/virtio-blk.c >> b/hw/block/dataplane/virtio-blk.c >> index 5556f0e..13dd14d 100644 >> --- a/hw/block/dataplane/virtio-blk.c >> +++ b/hw/block/dataplane/virti

Re: [Qemu-devel] [PATCH 1/1] virtio-blk: fix race on guest notifiers

2017-03-02 Thread Cornelia Huck
On Thu, 2 Mar 2017 14:04:22 +0100 Halil Pasic wrote: > diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c > index 5556f0e..13dd14d 100644 > --- a/hw/block/dataplane/virtio-blk.c > +++ b/hw/block/dataplane/virtio-blk.c > @@ -258,9 +258,16 @@ void virtio_blk_data_plane_

[Qemu-devel] [PATCH 1/1] virtio-blk: fix race on guest notifiers

2017-03-02 Thread Halil Pasic
The commits 03de2f527 "virtio-blk: do not use vring in dataplane" and 9ffe337c08 "virtio-blk: always use dataplane path if ioeventfd is active" changed how notifications are done for virtio-blk substantially. Due to a race condition, interrupts are lost when irqfd behind the guest notifier is torn