Add logging of command ring and QXLWorker commands (i.e. dispatcher) to a file, and replay of same. See individual patches for link to an example saved file and usage of replay utility.
Lately there has been a renewed interest in trying to improve the protocol bandwidth, the cpu and memory usage. This is meant as a first step in that direction by enabling the following workflow: record a session. (a vm doing some stuff) repeat: change something run playback compare RfC mainly because: 1. record/replay implementation - any comments (besides ugly copy of red_parse_qxl) 2. any objectsions to put this into the code base as is? no #ifdef magic, it adds a single if for every command read if unused, and adds some unused code to libspice-server.so (red_replay_qxl.c in particular is only used by qxl.c 3. still has some bugs: recording is not stoped nicely, if qemu goes to sleep it doesn't close the recorded file nor is it guranteed not to be in the middle of writing. This has not prevented me from making a recording 4. still need some cut utility to be truly useful (to create a part of just moving windows for instance, or just cut boot / shutdown stages). 5. not tested with more then one qxl. Alon Levy (4): server/red_worker: explicitly include unistd and errno server/red_{record,replay}.[ch]: introduce server/red_worker: record to SPICE_WORKER_RECORD_FILENAME server/tests/replay: introduce server/Makefile.am | 2 + server/make_recorder.sh | 13 + server/red_record_qxl.c | 715 ++++++++++++++++++++++++++++++++ server/red_record_qxl.h | 44 ++ server/red_replay_qxl.c | 849 +++++++++++++++++++++++++++++++++++++++ server/red_replay_qxl.h | 23 + server/red_worker.c | 63 +++ server/red_worker.h | 2 + server/tests/Makefile.am | 4 +- server/tests/basic_event_loop.c | 1 - server/tests/replay.c | 281 +++++++++++++ 11 files changed, 1995 insertions(+), 2 deletions(-) create mode 100755 server/make_recorder.sh create mode 100644 server/red_record_qxl.c create mode 100644 server/red_record_qxl.h create mode 100644 server/red_replay_qxl.c create mode 100644 server/red_replay_qxl.h create mode 100644 server/tests/replay.c -- 1.7.5.4 _______________________________________________ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel