mbox

[PULL,v3,00/18] Record/replay core for 2.5-rc1

Message ID 1446802680-16832-1-git-send-email-pbonzini@redhat.com
State New
Headers show

Pull-request

git://github.com/bonzini/qemu.git tags/for-upstream-replay

Message

Paolo Bonzini Nov. 6, 2015, 9:37 a.m. UTC
The following changes since commit 6c5f30cad290c745f910481d0e890b3f4fad1f00:

  Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20151104' into staging (2015-11-05 10:10:57 +0000)

are available in the git repository at:

  git://github.com/bonzini/qemu.git tags/for-upstream-replay

for you to fetch changes up to ee312992a323530ea2cda8680f3a34746c72db8f:

  replay: recording of the user input (2015-11-06 10:16:03 +0100)

----------------------------------------------------------------
So here it is, let's see what happens.

----------------------------------------------------------------
Pavel Dovgalyuk (18):
      replay: global variables and function stubs
      replay: internal functions for replay log
      replay: introduce mutex to protect the replay log
      replay: introduce icount event
      cpu-exec: allow temporary disabling icount
      cpu: replay instructions sequence
      replay: interrupts and exceptions
      replay: asynchronous events infrastructure
      replay: recording and replaying clock ticks
      replay: shutdown event
      icount: improve counting for record/replay
      replay: checkpoints
      bottom halves: introduce bh call function
      replay: ptimer
      replay: initialization and deinitialization
      replay: replay blockers for devices
      replay: command line options
      replay: recording of the user input

 Makefile.objs             |   2 +
 async.c                   |   7 +-
 cpu-exec.c                |  55 ++++++--
 cpus.c                    |  64 ++++++---
 docs/replay.txt           | 168 +++++++++++++++++++++++
 exec.c                    |   2 +
 hw/bt/hci.c               |   7 +
 hw/core/ptimer.c          |   3 +-
 include/block/aio.h       |   5 +
 include/exec/exec-all.h   |   1 +
 include/qapi/qmp/qerror.h |   3 +
 include/sysemu/replay.h   | 120 ++++++++++++++++
 include/ui/input.h        |   2 +
 main-loop.c               |   3 +
 qapi-schema.json          |  18 +++
 qemu-options.hx           |   8 +-
 qemu-timer.c              |  43 +++++-
 replay/Makefile.objs      |   5 +
 replay/replay-events.c    | 279 +++++++++++++++++++++++++++++++++++++
 replay/replay-input.c     | 160 ++++++++++++++++++++++
 replay/replay-internal.c  | 206 ++++++++++++++++++++++++++++
 replay/replay-internal.h  | 140 +++++++++++++++++++
 replay/replay-time.c      |  64 +++++++++
 replay/replay.c           | 342 ++++++++++++++++++++++++++++++++++++++++++++++
 stubs/Makefile.objs       |   2 +
 stubs/replay-user.c       |  32 +++++
 stubs/replay.c            |  31 +++++
 translate-all.c           |   2 +-
 ui/input.c                |  27 ++--
 vl.c                      |  60 ++++++--
 30 files changed, 1803 insertions(+), 58 deletions(-)
 create mode 100644 docs/replay.txt
 create mode 100644 include/sysemu/replay.h
 create mode 100644 replay/Makefile.objs
 create mode 100644 replay/replay-events.c
 create mode 100644 replay/replay-input.c
 create mode 100644 replay/replay-internal.c
 create mode 100644 replay/replay-internal.h
 create mode 100644 replay/replay-time.c
 create mode 100644 replay/replay.c
 create mode 100644 stubs/replay-user.c
 create mode 100644 stubs/replay.c

Comments

Peter Maydell Nov. 6, 2015, 12:26 p.m. UTC | #1
On 6 November 2015 at 09:37, Paolo Bonzini <pbonzini@redhat.com> wrote:
> The following changes since commit 6c5f30cad290c745f910481d0e890b3f4fad1f00:
>
>   Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20151104' into staging (2015-11-05 10:10:57 +0000)
>
> are available in the git repository at:
>
>   git://github.com/bonzini/qemu.git tags/for-upstream-replay
>
> for you to fetch changes up to ee312992a323530ea2cda8680f3a34746c72db8f:
>
>   replay: recording of the user input (2015-11-06 10:16:03 +0100)
>
> ----------------------------------------------------------------
> So here it is, let's see what happens.

Applied, thanks. Let's hope it doesn't break too much :-)

(Seriously, it's good to see this getting into the tree finally.
Do we have some documentation we can point to in the
release notes about how to use it?)

thanks
-- PMM
Paolo Bonzini Nov. 6, 2015, 12:59 p.m. UTC | #2
On 06/11/2015 13:26, Peter Maydell wrote:
> Applied, thanks. Let's hope it doesn't break too much :-)
> 
> (Seriously, it's good to see this getting into the tree finally.
> Do we have some documentation we can point to in the
> release notes about how to use it?)

Unfortunately, I don't think it's very usable yet.  It needs a
synchronous block device (such as -sd) and a framebuffer to give
instructions (since neither character devices nor network are supported
yet).

Pavel, can you prepare a page on the wiki?

Paolo
Pavel Dovgalyuk Nov. 6, 2015, 2:15 p.m. UTC | #3
> From: Paolo Bonzini [mailto:paolo.bonzini@gmail.com] On Behalf Of Paolo Bonzini
> On 06/11/2015 13:26, Peter Maydell wrote:
> > Applied, thanks. Let's hope it doesn't break too much :-)
> >
> > (Seriously, it's good to see this getting into the tree finally.
> > Do we have some documentation we can point to in the
> > release notes about how to use it?)
> 
> Unfortunately, I don't think it's very usable yet.  It needs a
> synchronous block device (such as -sd) and a framebuffer to give
> instructions (since neither character devices nor network are supported
> yet).
> 
> Pavel, can you prepare a page on the wiki?

Yes, how can I make it?

Pavel Dovgalyuk
Pavel Dovgalyuk Nov. 7, 2015, 8:12 a.m. UTC | #4
Paolo Bonzini писал 2015-11-06 15:59:
> On 06/11/2015 13:26, Peter Maydell wrote:
>> Applied, thanks. Let's hope it doesn't break too much :-)
>> 
>> (Seriously, it's good to see this getting into the tree finally.
>> Do we have some documentation we can point to in the
>> release notes about how to use it?)
> 
> Unfortunately, I don't think it's very usable yet.  It needs a
> synchronous block device (such as -sd) and a framebuffer to give
> instructions (since neither character devices nor network are supported
> yet).

Actually, it is already usable in some cases.
You can specify kernel and ramdisk in command line.
There shoudn't be any block devices, network and serial adapters
connected to simulator.

> Pavel, can you prepare a page on the wiki?

Some details are presented on page 
http://wiki.qemu.org/Features/record-replay

Pavel Dovgalyuk
Markus Armbruster Nov. 11, 2015, 10:53 a.m. UTC | #5
Peter Maydell <peter.maydell@linaro.org> writes:

> On 6 November 2015 at 09:37, Paolo Bonzini <pbonzini@redhat.com> wrote:
>> The following changes since commit 6c5f30cad290c745f910481d0e890b3f4fad1f00:
>>
>>   Merge remote-tracking branch
>> 'remotes/juanquintela/tags/migration/20151104' into staging
>> (2015-11-05 10:10:57 +0000)
>>
>> are available in the git repository at:
>>
>>   git://github.com/bonzini/qemu.git tags/for-upstream-replay
>>
>> for you to fetch changes up to ee312992a323530ea2cda8680f3a34746c72db8f:
>>
>>   replay: recording of the user input (2015-11-06 10:16:03 +0100)
>>
>> ----------------------------------------------------------------
>> So here it is, let's see what happens.
>
> Applied, thanks. Let's hope it doesn't break too much :-)
>
> (Seriously, it's good to see this getting into the tree finally.
> Do we have some documentation we can point to in the
> release notes about how to use it?)

Can we have an entry in MAINTAINERS, please?
Eric Blake Nov. 11, 2015, 3:42 p.m. UTC | #6
On 11/11/2015 03:53 AM, Markus Armbruster wrote:

> 
> Can we have an entry in MAINTAINERS, please?
> 

A while ago, someone suggested patching checkpatch.pl to flag any new
files without a maintainer; I'm not the best perl expert to try and
write such a patch, though.