[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v14 00/21] Deterministic replay core
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH v14 00/21] Deterministic replay core |
Date: |
Tue, 26 May 2015 16:05:58 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 |
On 25/05/2015 14:07, Pavel Dovgalyuk wrote:
> This set of patches is related to the reverse execution and deterministic
> replay of qemu execution. This implementation of deterministic replay can
> be used for deterministic debugging of guest code through gdb remote
> interface.
>
> Core set of patches does not include support for reverse debugging commands
> of gdb, block devices' operations, USB replay support.
>
> These patches include only core function of the replay,
> excluding the support for replaying serial, audio, network, and USB devices'
> operations. Reverse debugging and monitor commands were also excluded to
> be submitted later as separate patches.
>
> Execution recording writes non-deterministic events log, which can be later
> used for replaying the execution anywhere and for unlimited number of times.
> It also supports checkpointing for faster rewinding during reverse debugging.
> Execution replaying reads the log and replays all non-deterministic events
> including external input, hardware clocks, and interrupts.
>
> Full version of deterministic replay has the following features:
> * Deterministically replays whole system execution and all contents of the
> memory,
> state of the hadrware devices, clocks, and screen of the VM.
> * Writes execution log into the file for latter replaying for multiple times
> on different machines.
> * Supports i386, x86_64, and ARM hardware platforms.
> * Performs deterministic replay of all operations with keyboard and mouse
> input devices.
> * Supports auto-checkpointing for convenient reverse debugging.
>
> Usage of the record/replay core:
> * First, record the execution, by adding the following string to the command
> line:
> '-icount shift=7,rr=record,rrfile=replay.bin -net none'.
> Block devices' images are not actually changed in the recording mode,
> because all of the changes are written to the temporary overlay file.
> * Then you can replay it for the multiple times by using another command
> line option: '-icount shift=7,rr=replay,rrfile=replay.bin -net none'
> * '-net none' option should also be specified if network replay patches
> are not applied.
> * Do not add any disk images to VM, because they are not supported by
> the core patches.
Hi Pavel,
this series has reached a point where I need help from other
maintainers, particularly (but not exclusively) regarding their own
code. I don't see anything that stands out (that's why I asked you to
remove the disks part), but it's a huge change and I don't feel
comfortable "just including it" in a pull request like I did with all
the preparatory changes so far.
Thanks for your understanding!
Paolo
- [Qemu-devel] [PATCH v14 13/21] replay: shutdown event, (continued)
- [Qemu-devel] [PATCH v14 13/21] replay: shutdown event, Pavel Dovgalyuk, 2015/05/25
- [Qemu-devel] [PATCH v14 14/21] replay: checkpoints, Pavel Dovgalyuk, 2015/05/25
- [Qemu-devel] [PATCH v14 15/21] bottom halves: introduce bh call function, Pavel Dovgalyuk, 2015/05/25
- [Qemu-devel] [PATCH v14 16/21] replay: ptimer, Pavel Dovgalyuk, 2015/05/25
- [Qemu-devel] [PATCH v14 17/21] typedef: add typedef for QemuOpts, Pavel Dovgalyuk, 2015/05/25
- [Qemu-devel] [PATCH v14 18/21] replay: initialization and deinitialization, Pavel Dovgalyuk, 2015/05/25
- [Qemu-devel] [PATCH v14 19/21] replay: replay blockers for devices, Pavel Dovgalyuk, 2015/05/25
- [Qemu-devel] [PATCH v14 20/21] replay: command line options, Pavel Dovgalyuk, 2015/05/25
- [Qemu-devel] [PATCH v14 21/21] replay: ptimer, Pavel Dovgalyuk, 2015/05/25
- Re: [Qemu-devel] [PATCH v14 00/21] Deterministic replay core,
Paolo Bonzini <=