[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 22/25] replay: add BH oneshot event for block
From: |
Pavel Dovgalyuk |
Subject: |
Re: [Qemu-devel] [PATCH v6 22/25] replay: add BH oneshot event for block layer |
Date: |
Fri, 14 Sep 2018 09:17:09 +0300 |
> From: Paolo Bonzini [mailto:address@hidden
> On 13/09/2018 13:13, Pavel Dovgalyuk wrote:
> >> From: Paolo Bonzini [mailto:address@hidden
> >> 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
Sorry, I missed your point.
Maybe you looked at the wrong function, because both of these events have an id:
void replay_bh_schedule_event(QEMUBH *bh)
{
if (events_enabled) {
uint64_t id = replay_get_current_step();
replay_add_event(REPLAY_ASYNC_EVENT_BH, bh, NULL, id);
} else {
qemu_bh_schedule(bh);
}
}
void replay_bh_schedule_oneshot_event(AioContext *ctx,
QEMUBHFunc *cb, void *opaque)
{
if (events_enabled) {
uint64_t id = replay_get_current_step();
replay_add_event(REPLAY_ASYNC_EVENT_BH_ONESHOT, cb, opaque, id);
} else {
aio_bh_schedule_oneshot(ctx, cb, opaque);
}
}
Pavel Dovgalyuk
- Re: [Qemu-devel] [PATCH v6 21/25] replay: replay BH for IDE trim operation, (continued)
- Re: [Qemu-devel] [PATCH v6 21/25] replay: replay BH for IDE trim operation, John Snow, 2018/09/17
- Re: [Qemu-devel] [PATCH v6 21/25] replay: replay BH for IDE trim operation, John Snow, 2018/09/14
- Re: [Qemu-devel] [PATCH v6 21/25] replay: replay BH for IDE trim operation, Paolo Bonzini, 2018/09/14
- Re: [Qemu-devel] [PATCH v6 21/25] replay: replay BH for IDE trim operation, Peter Maydell, 2018/09/14
- Re: [Qemu-devel] [PATCH v6 21/25] replay: replay BH for IDE trim operation, Pavel Dovgalyuk, 2018/09/17
- Re: [Qemu-devel] [PATCH v6 21/25] replay: replay BH for IDE trim operation, Paolo Bonzini, 2018/09/17
[Qemu-devel] [PATCH v6 22/25] replay: add BH oneshot event for block layer, Pavel Dovgalyuk, 2018/09/12
[Qemu-devel] [PATCH v6 23/25] timer: introduce new virtual clock, Pavel Dovgalyuk, 2018/09/12
[Qemu-devel] [PATCH v6 24/25] slirp: fix ipv6 timers, Pavel Dovgalyuk, 2018/09/12
[Qemu-devel] [PATCH v6 25/25] ui: fix virtual timers, Pavel Dovgalyuk, 2018/09/12
Re: [Qemu-devel] [PATCH v6 00/25] Fixing record/replay and adding reverse debugging, Paolo Bonzini, 2018/09/13
[Qemu-devel] [PATCH v6 00/25] Fixing record/replay and adding reverse debugging, Artem Pisarenko, 2018/09/30