From: Paolo Bonzini <pbonzini@redhat.com>
To: fred.konrad@greensocs.com, qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, quintela@redhat.com,
mark.burton@greensocs.com, dgilbert@redhat.com,
amit.shah@redhat.com, vilanova@ac.upc.edu
Subject: Re: [Qemu-devel] [RFC PATCH v5 00/13] Reverse execution.
Date: Wed, 25 Jun 2014 17:43:46 +0200 [thread overview]
Message-ID: <53AAEE32.2000102@redhat.com> (raw)
In-Reply-To: <1403709607-6434-1-git-send-email-fred.konrad@greensocs.com>
Il 25/06/2014 17:19, fred.konrad@greensocs.com ha scritto:
> From: KONRAD Frederic <fred.konrad@greensocs.com>
>
> Hi everybody,
>
> This is the fifth version of this RFC (see the changes below).
>
> Those are the two first patch-set we have been worked on for reverse execution.
>
> The first part is fully reviewed except the "icount: introduce icount timer"
> patch maybe we can merge them?
>
> The first series:
> icount: put icount variables into TimerState.
> migration: migrate icount fields.
> migration: make qemu_savevm_state public.
> icount: introduce icount timer.
> icount: check for icount clock deadline when cpu loop exits.
> icount: make icount extra computed on icount clock as well.
> timer: add cpu_icount_to_ns function.
>
> are various preparation patches for reverse execution.
>
> The last patches:
> trace-events: add reverse-execution events.
> introduce reverse execution mechanism.
> gdbstub: allow reverse execution in gdb stub.
> cpu-exec: trigger a debug request when rexec stops.
> cexe: synchronize icount on the next event.
> cexe: allow to enable reverse execution.
>
> are reverse execution introduction.
>
> They can be clone at: git://git.greensocs.com/qemu_cexe.git:cexe_2_3_v5
>
> The third series will be sent as soon as possible and have some issues with
> QEMU's thread as it use fork.
>
> This implementation of reverse execution works with instruction counting:
>
> A new clock is implemented which is icount clock. It grows each time an
> instruction is executed and is totally independant of host clock.
>
> Snapshots are taken regularly (based on icount clock) with help of migration
> code and written on the disk.
>
> When user wants to use reverse-stepi:
> * Last snapshot is reloaded.
> * A stop callback is created to be triggered at the previous instruction.
>
> This stop callback generates a debug exception so QEMU stops in debug mode.
>
> Command line:
> * -cexe option is added to enable reverse execution, it needs icount 1.
What does -cexe stand for?
There was a patch on the list to convert -icount to QemuOpts, could you
adopt that and add a cexe suboption?
Paolo
next prev parent reply other threads:[~2014-06-25 15:44 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-25 15:19 [Qemu-devel] [RFC PATCH v5 00/13] Reverse execution fred.konrad
2014-06-25 15:19 ` [Qemu-devel] [RFC PATCH v5 01/13] icount: put icount variables into TimerState fred.konrad
2014-06-25 15:19 ` [Qemu-devel] [RFC PATCH v5 02/13] migration: migrate icount fields fred.konrad
2014-06-25 17:38 ` Juan Quintela
2014-06-25 15:19 ` [Qemu-devel] [RFC PATCH v5 03/13] migration: make qemu_savevm_state public fred.konrad
2014-06-25 15:19 ` [Qemu-devel] [RFC PATCH v5 04/13] icount: introduce icount timer fred.konrad
2014-06-25 15:19 ` [Qemu-devel] [RFC PATCH v5 05/13] icount: check for icount clock deadline when cpu loop exits fred.konrad
2014-06-25 15:20 ` [Qemu-devel] [RFC PATCH v5 06/13] icount: make icount extra computed on icount clock as well fred.konrad
2014-06-25 15:20 ` [Qemu-devel] [RFC PATCH v5 07/13] timer: add cpu_icount_to_ns function fred.konrad
2014-06-25 15:20 ` [Qemu-devel] [RFC PATCH v5 08/13] trace-events: add reverse-execution events fred.konrad
2014-06-25 15:20 ` [Qemu-devel] [RFC PATCH v5 09/13] introduce reverse execution mechanism fred.konrad
[not found] ` <534C5107B281854290643468BBAAD41F172901@G08CNEXMBPEKD01.g08.fujitsu.local>
2014-06-26 7:28 ` [Qemu-devel] 答复: " Frederic Konrad
[not found] ` <534C5107B281854290643468BBAAD41F172C78@G08CNEXMBPEKD01.g08.fujitsu.local>
2014-06-26 8:20 ` [Qemu-devel] 答复: " Frederic Konrad
2014-06-25 15:20 ` [Qemu-devel] [RFC PATCH v5 10/13] gdbstub: allow reverse execution in gdb stub fred.konrad
[not found] ` <534C5107B281854290643468BBAAD41F17293E@G08CNEXMBPEKD01.g08.fujitsu.local>
2014-06-26 7:39 ` [Qemu-devel] 答复: " Frederic Konrad
2014-06-25 15:20 ` [Qemu-devel] [RFC PATCH v5 11/13] cpu-exec: trigger a debug request when rexec stops fred.konrad
2014-06-25 15:20 ` [Qemu-devel] [RFC PATCH v5 12/13] cexe: synchronize icount on the next event fred.konrad
2014-06-25 15:20 ` [Qemu-devel] [RFC PATCH v5 13/13] cexe: allow to enable reverse execution fred.konrad
2014-06-25 15:43 ` Paolo Bonzini [this message]
2014-06-26 8:17 ` [Qemu-devel] [RFC PATCH v5 00/13] Reverse execution Frederic Konrad
2014-06-26 10:14 ` Paolo Bonzini
2014-06-26 13:55 ` Frederic Konrad
2014-06-26 13:56 ` Paolo Bonzini
2014-06-26 15:11 ` Frederic Konrad
2014-06-26 15:32 ` Paolo Bonzini
2014-06-26 15:52 ` Sebastian Tanase
2014-06-27 8:08 ` Frederic Konrad
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53AAEE32.2000102@redhat.com \
--to=pbonzini@redhat.com \
--cc=amit.shah@redhat.com \
--cc=dgilbert@redhat.com \
--cc=fred.konrad@greensocs.com \
--cc=mark.burton@greensocs.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=vilanova@ac.upc.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).