On 22/01/2015 09:53, Pavel Dovgalyuk wrote: > This patch introduces bottom half event for replay queue. It saves the events > into the queue and process them at the checkpoints and instructions execution.
Which bottom halves must _not_ go through aio/qemu_bh_new_replay? > +QEMUBH *aio_bh_new_replay(AioContext *ctx, QEMUBHFunc *cb, void *opaque, > + uint64_t id) id is superfluous, it can always be replay_get_current_step(). It seems to me that the device models can always use qemu_bh_new_replay. There are few if any uses of qemu_bh_new outside device models. Perhaps convert those to aio_bh_new, and make qemu_bh_new always do special replay treatment? > +{ > + QEMUBH *bh = aio_bh_new(ctx, cb, opaque); > + bh->replay = true; > + bh->id = id; > + return bh; > +} Paolo