All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Cornelia Huck <cornelia.huck@de.ibm.com>
Cc: Kevin Wolf <kwolf@redhat.com>, Fam Zheng <famz@redhat.com>,
	qemu-block@nongnu.org, "Michael S. Tsirkin" <mst@redhat.com>,
	qemu-devel@nongnu.org,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	tubo@linux.vnet.ibm.com, Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 0/4] Tweaks around virtio-blk start/stop
Date: Wed, 16 Mar 2016 12:59:37 +0100	[thread overview]
Message-ID: <56E94AA9.8000803@redhat.com> (raw)
In-Reply-To: <20160316125623.38ab4c7e.cornelia.huck@de.ibm.com>



On 16/03/2016 12:56, Cornelia Huck wrote:
> On Wed, 16 Mar 2016 12:48:22 +0100
> Paolo Bonzini <pbonzini@redhat.com> wrote:
> 
>>
>>
>> On 16/03/2016 12:32, Cornelia Huck wrote:
>>> On Wed, 16 Mar 2016 12:09:02 +0100
>>> Paolo Bonzini <pbonzini@redhat.com> wrote:
>>>
>>>> On 16/03/2016 11:49, Christian Borntraeger wrote:
>>>
>>>>> #3  0x00000000800b713e in virtio_blk_data_plane_start (s=0xba232d80) at /home/cborntra/REPOS/qemu/hw/block/dataplane/virtio-blk.c:224
>>>>> #4  0x00000000800b4ea0 in virtio_blk_handle_output (vdev=0xb9eee7e8, vq=0xba305270) at /home/cborntra/REPOS/qemu/hw/block/virtio-blk.c:590
>>>>> #5  0x00000000800ef3dc in virtio_queue_notify_vq (vq=0xba305270) at /home/cborntra/REPOS/qemu/hw/virtio/virtio.c:1095
>>>>> #6  0x00000000800f1c9c in virtio_queue_host_notifier_read (n=0xba3052c8) at /home/cborntra/REPOS/qemu/hw/virtio/virtio.c:1785
>>>>> #7  0x00000000800f1e14 in virtio_queue_set_host_notifier_fd_handler (vq=0xba305270, assign=false, set_handler=false) at /home/cborntra/REPOS/qemu/hw/virtio/virtio.c:1817
>>>>> #8  0x0000000080109c50 in virtio_ccw_set_guest2host_notifier (dev=0xb9eed6a0, n=0, assign=false, set_handler=false) at /home/cborntra/REPOS/qemu/hw/s390x/virtio-ccw.c:97
>>>>> #9  0x0000000080109ef2 in virtio_ccw_stop_ioeventfd (dev=0xb9eed6a0) at /home/cborntra/REPOS/qemu/hw/s390x/virtio-ccw.c:154
>>>>
>>>> One bug is here: virtio_ccw_stop_ioeventfd, in this case, should pass
>>>> assign=true to virtio_ccw_set_guest2host_notifier.  (Assuming my
>>>> understanding of assign=true is correct; I think it means "I'm going to
>>>> set up another host notifier handler").
>>>
>>> Hm... I copied these semantics from virtio-pci, and they still seem to
>>> be the same. I wonder why we never saw this on virtio-pci?
>>
>> Just because we never ran the right tests, probably.  The bug is indeed
>> in virtio-pci as well (I didn't check mmio).
> 
> Somebody should probably do a writeup on the expected behaviour, as
> this always ends in mental gymnastics (at least for me :)

Yeah, it doesn't help that the functions are underdocumented (as in the
"assign" parameter above).

>>
>>>> In dataplane, instead, all calls to
>>>> virtio_queue_set_host_notifier_fd_handler and
>>>> virtio_queue_aio_set_host_notifier_handler should have assign=true.  The
>>>> ioeventfd is just being moved from one aiocontext to another.
>>>
>>> How can a transport know where they are called from?
>>
>> That's a bug in dataplane.  The calls should be changed in
>> hw/block/dataplane/virtio-blk.c
> 
> I don't think the ->set_host_notifiers() api really allows for this.

I think it does, assign is the last argument to k->set_host_notifier().

Paolo

  reply	other threads:[~2016-03-16 11:59 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-16 10:10 [Qemu-devel] [PATCH 0/4] Tweaks around virtio-blk start/stop Fam Zheng
2016-03-16 10:10 ` [Qemu-devel] [PATCH 1/4] block: Use drained section in bdrv_set_aio_context Fam Zheng
2016-03-16 10:27   ` Paolo Bonzini
2016-03-16 10:51     ` Fam Zheng
2016-03-16 10:10 ` [Qemu-devel] [PATCH 2/4] block-backend: Introduce blk_drained_begin/end Fam Zheng
2016-03-16 10:10 ` [Qemu-devel] [PATCH 3/4] virtio-blk: Use blk_drained_begin/end around dataplane stop Fam Zheng
2016-03-16 10:10 ` [Qemu-devel] [PATCH 4/4] virtio-blk: Clean up start/stop with mutex and BH Fam Zheng
2016-03-17 15:00   ` [Qemu-devel] [Qemu-block] " Stefan Hajnoczi
2016-03-17 15:07     ` Paolo Bonzini
2016-03-22 12:52       ` Fam Zheng
2016-03-22 18:05         ` Paolo Bonzini
2016-03-23  8:10           ` Cornelia Huck
2016-03-23  9:08             ` Paolo Bonzini
2016-03-23  9:12               ` Christian Borntraeger
2016-03-24  8:19                 ` tu bo
2016-03-24  8:32                   ` Cornelia Huck
2016-03-24  8:47                     ` Cornelia Huck
2016-03-24  9:31                       ` Cornelia Huck
2016-03-16 10:28 ` [Qemu-devel] [PATCH 0/4] Tweaks around virtio-blk start/stop Paolo Bonzini
2016-03-16 10:49   ` Christian Borntraeger
2016-03-16 11:09     ` Paolo Bonzini
2016-03-16 11:24       ` Christian Borntraeger
2016-03-16 12:55         ` Paolo Bonzini
2016-03-16 13:38           ` Christian Borntraeger
2016-03-16 13:45             ` Paolo Bonzini
2016-03-17  0:39               ` Fam Zheng
2016-03-17 11:03                 ` tu bo
2016-03-21 10:57                   ` Fam Zheng
2016-03-21 11:15                     ` Cornelia Huck
2016-03-21 12:45                       ` Fam Zheng
2016-03-21 13:02                         ` Cornelia Huck
2016-03-21 23:45                           ` Fam Zheng
2016-03-22  8:06                             ` Cornelia Huck
2016-03-22  7:10                     ` tu bo
2016-03-22  7:18                       ` Fam Zheng
2016-03-22  9:07                         ` Cornelia Huck
2016-03-22  9:46                           ` Paolo Bonzini
2016-03-22 11:59                             ` Cornelia Huck
2016-03-22 12:11                               ` Paolo Bonzini
2016-03-22 12:54                                 ` Cornelia Huck
2016-03-17 12:22             ` tu bo
2016-03-17 12:39               ` Christian Borntraeger
2016-03-17 13:02                 ` Cornelia Huck
2016-03-17 15:02                 ` Paolo Bonzini
2016-03-17 15:07                   ` Christian Borntraeger
2016-03-17 15:15                   ` Christian Borntraeger
2016-03-17 15:16                     ` Christian Borntraeger
2016-03-17 16:08                       ` Christian Borntraeger
2016-03-18 15:03                         ` Paolo Bonzini
2016-03-21  9:42                           ` Fam Zheng
2016-03-21 11:10                             ` Christian Borntraeger
2016-03-21 12:17                             ` Cornelia Huck
2016-03-21 13:47                           ` TU BO
2016-03-21 13:54                             ` Paolo Bonzini
2016-03-21 14:19                               ` Cornelia Huck
2016-03-22  0:31                                 ` Fam Zheng
2016-03-16 11:32       ` Cornelia Huck
2016-03-16 11:48         ` Paolo Bonzini
2016-03-16 11:56           ` Cornelia Huck
2016-03-16 11:59             ` Paolo Bonzini [this message]
2016-03-16 12:22               ` Cornelia Huck
2016-03-16 12:32                 ` Paolo Bonzini
2016-03-16 12:42                   ` Cornelia Huck
2016-03-16 12:49                     ` Paolo Bonzini
2016-03-16 13:04                       ` Cornelia Huck
2016-03-16 13:10                         ` Paolo Bonzini
2016-03-16 13:14                           ` Cornelia Huck
2016-03-16 13:15                             ` Paolo Bonzini
2016-03-16 11:52         ` Cornelia Huck
2016-03-16 11:54           ` Paolo Bonzini

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