Thank you Pavel. Your answers make the clock record-replay process much clearer to me now.
Best Regards, Arnab On Tue, Mar 2, 2021 at 12:49 PM Pavel Dovgalyuk <pavel.dovgal...@ispras.ru> wrote: > On 01.03.2021 20:16, Arnabjyoti Kalita wrote: > > Hello all, > > > > I am really thankful for the wonderful answers in my last post linked > below- > > > > https://lists.nongnu.org/archive/html/qemu-discuss/2021-02/msg00131.html > > > > In continuation with the last post, I have a few more questions to ask - > > > > My experiment is still, mostly the same. I record clock values in KVM > > mode, and then replay the clock values in TCG mode. However, now I am > > recording and replaying all of the clock values (I was only > > recording/replaying the host clock previously). However, I do not use > > the -icount feature. > > > > - Why are clock values being replayed at checkpoints? > > Timers are replayed at checkpoints to be synchronized with vCPU. > Other clock requests (e.g., caused by vCPU instruction) are replayed > immediately. > > > - Can we ignore replaying at checkpoints and do a dumb replay as and > > when the clock read actually happens? > > I think we can, if we need just clock synchronization. > > > - Based on the documentation available, I can see that checkpoints are > > necessary for thread synchronization. Does this mean, if I do not replay > > clock values at checkpoints, the guest kernel scheduler might behave > > incorrectly during replay ? > > Checkpoints are related to QEMU threads, not guest threads. > Timers are needed for virtual devices, that can generate interrupts, DMA > requests and so on. Therefore we synchronize them with vCPU to make > execution deterministic. > > > Pavel Dovgalyuk >