[Spice-devel] [PATCH spice-server 5/8] replay: Remove time argument from recording functions
Frediano Ziglio
fziglio at redhat.com
Fri Nov 4 13:16:25 UTC 2016
Time is always the the current real time so avoid to compute
it for every call but move to red-record-qxl.c.
Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
---
server/red-record-qxl.c | 11 ++++++++---
server/red-record-qxl.h | 4 ++--
server/red-worker.c | 14 +++++++-------
3 files changed, 17 insertions(+), 12 deletions(-)
diff --git a/server/red-record-qxl.c b/server/red-record-qxl.c
index 8af2c9c..bd8869e 100644
--- a/server/red-record-qxl.c
+++ b/server/red-record-qxl.c
@@ -803,8 +803,9 @@ void red_record_primary_surface_create(RedRecord *record,
line_0);
}
-void red_record_event(RedRecord *record, int what, uint32_t type, red_time_t ts)
+static void red_record_event_start(RedRecord *record, int what, uint32_t type)
{
+ red_time_t ts = spice_get_monotonic_time_ns();
// TODO: record the size of the packet in the header. This would make
// navigating it much faster (well, I can add an index while I'm at it..)
// and make it trivial to get a histogram from a file.
@@ -813,12 +814,16 @@ void red_record_event(RedRecord *record, int what, uint32_t type, red_time_t ts)
fprintf(record->fd, "event %u %d %u %"PRIu64"\n", record->counter++, what, type, ts);
}
+void red_record_event(RedRecord *record, int what, uint32_t type)
+{
+ red_record_event_start(record, what, type);
+}
void red_record_qxl_command(RedRecord *record, RedMemSlotInfo *slots,
- QXLCommandExt ext_cmd, red_time_t ts)
+ QXLCommandExt ext_cmd)
{
FILE *fd = record->fd;
- red_record_event(record, 0, ext_cmd.cmd.type, ts);
+ red_record_event_start(record, 0, ext_cmd.cmd.type);
switch (ext_cmd.cmd.type) {
case QXL_CMD_DRAW:
diff --git a/server/red-record-qxl.h b/server/red-record-qxl.h
index 7332afe..0685393 100644
--- a/server/red-record-qxl.h
+++ b/server/red-record-qxl.h
@@ -39,9 +39,9 @@ void red_record_primary_surface_create(RedRecord *record,
QXLDevSurfaceCreate *surface,
uint8_t *line_0);
-void red_record_event(RedRecord *record, int what, uint32_t type, red_time_t ts);
+void red_record_event(RedRecord *record, int what, uint32_t type);
void red_record_qxl_command(RedRecord *record, RedMemSlotInfo *slots,
- QXLCommandExt ext_cmd, red_time_t ts);
+ QXLCommandExt ext_cmd);
#endif
diff --git a/server/red-worker.c b/server/red-worker.c
index 4383646..e1765c1 100644
--- a/server/red-worker.c
+++ b/server/red-worker.c
@@ -127,9 +127,9 @@ static int red_process_cursor(RedWorker *worker, int *ring_is_empty)
return n;
}
- if (worker->record)
- red_record_qxl_command(worker->record, &worker->mem_slots, ext_cmd,
- spice_get_monotonic_time_ns());
+ if (worker->record) {
+ red_record_qxl_command(worker->record, &worker->mem_slots, ext_cmd);
+ }
worker->cursor_poll_tries = 0;
switch (ext_cmd.cmd.type) {
@@ -190,9 +190,9 @@ static int red_process_display(RedWorker *worker, int *ring_is_empty)
return n;
}
- if (worker->record)
- red_record_qxl_command(worker->record, &worker->mem_slots, ext_cmd,
- spice_get_monotonic_time_ns());
+ if (worker->record) {
+ red_record_qxl_command(worker->record, &worker->mem_slots, ext_cmd);
+ }
stat_inc_counter(reds, worker->command_counter, 1);
worker->display_poll_tries = 0;
@@ -1033,7 +1033,7 @@ static void worker_dispatcher_record(void *opaque, uint32_t message_type, void *
{
RedWorker *worker = opaque;
- red_record_event(worker->record, 1, message_type, spice_get_monotonic_time_ns());
+ red_record_event(worker->record, 1, message_type);
}
static void register_callbacks(Dispatcher *dispatcher)
--
2.7.4
More information about the Spice-devel
mailing list