On 13/09/2018 13:13, Pavel Dovgalyuk wrote: >> From: Paolo Bonzini [mailto:pbonz...@redhat.com] >> On 12/09/2018 10:19, Pavel Dovgalyuk wrote: >>> + uint64_t id = replay_get_current_step(); >>> + replay_add_event(REPLAY_ASYNC_EVENT_BH_ONESHOT, cb, opaque, id); >> >> Why does it need an id, while REPLAY_ASYNC_EVENT_BH does not? > > Because _oneshot() function takes only context and callback, > and BH object is created inside that function. > Therefore to use the normal bh scheduling events we have to refactor > block code - add bh creation, scheduling, and freeing.
No, I'm asking only why the id is 0 for REPLAY_ASYNC_EVENT_BH and replay_get_current_step() for REPLAY_ASYNC_EVENT_BH_ONESHOT. Thanks, Paolo