On 07.10.2020 14:22, Alex Bennée wrote:

Philippe Mathieu-Daudé <phi...@redhat.com> writes:

On 10/7/20 10:51 AM, Pavel Dovgalyuk wrote:
On 07.10.2020 11:23, Thomas Huth wrote:
On 07/10/2020 09.13, Philippe Mathieu-Daudé wrote:
Thanks, that was helpful. ... and the winner is:

      commit   55adb3c45620c31f29978f209e2a44a08d34e2da
      Author:  John Snow <js...@redhat.com>
      Date:    Fri Jul 24 01:23:00 2020 -0400
      Subject: ide: cancel pending callbacks on SRST

... starting with this commit, the tests starts failing. John, any
idea what
might be causing this?

This patch includes the following lines:

+        aio_bh_schedule_oneshot(qemu_get_aio_context(),
+                                ide_bus_perform_srst, bus);

replay_bh_schedule_oneshot_event should be used instead of this
function, because it synchronizes non-deterministic BHs.

Why do we have 2 different functions? BH are already complex
enough, and we need to also think about the replay API...

What about the other cases such vhost-user (blk/net), virtio-blk?

This does seem like something that should be wrapped up inside
aio_bh_schedule_oneshot itself or maybe we need a
aio_bh_schedule_transaction_oneshot to distinguish it from the other
uses the function has.


Maybe there should be two functions:
- one for the guest modification
- one for internal qemu things

The first one may be implemented though the rr+second one.
Maybe replay_ prefix is confusing and the whole BH interface should look like that?


Pavel Dovgalyuk

Reply via email to