On 11/23/2010 05:02 PM, Juan Quintela wrote:
From: Juan Quintela<quint...@trasno.org>
This time is each time that buffered_file ticks happen
Signed-off-by: Juan Quintela<quint...@trasno.org>
Signed-off-by: Juan Quintela<quint...@redhat.com>
---
buffered_file.c | 6 ++++--
buffered_file.h | 2 ++
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/buffered_file.c b/buffered_file.c
index 1836e7e..1f492e6 100644
--- a/buffered_file.c
+++ b/buffered_file.c
@@ -20,6 +20,8 @@
//#define DEBUG_BUFFERED_FILE
+const int buffered_file_interval = 100;
This should not be a global property but instead be a property of the
QEMUFileBuffered.
More importantly, it shouldn't be tick intervals. We should use
get_ticks_per_sec() to convert from a meaningful unit (like milliseconds).
The original code is bad in this regard so we should take the
opportunity to make it suck a little less.
Regards,
Anthony Liguori
+
typedef struct QEMUFileBuffered
{
BufferedPutFunc *put_buffer;
@@ -235,7 +237,7 @@ static void buffered_rate_tick(void *opaque)
return;
}
- qemu_mod_timer(s->timer, qemu_get_clock(rt_clock) + 100);
+ qemu_mod_timer(s->timer, qemu_get_clock(rt_clock) +
buffered_file_interval);
if (s->freeze_output)
return;
@@ -273,7 +275,7 @@ QEMUFile *qemu_fopen_ops_buffered(void *opaque,
s->timer = qemu_new_timer(rt_clock, buffered_rate_tick, s);
- qemu_mod_timer(s->timer, qemu_get_clock(rt_clock) + 100);
+ qemu_mod_timer(s->timer, qemu_get_clock(rt_clock) +
buffered_file_interval);
return s->file;
}
diff --git a/buffered_file.h b/buffered_file.h
index 98d358b..a728316 100644
--- a/buffered_file.h
+++ b/buffered_file.h
@@ -21,6 +21,8 @@ typedef void (BufferedPutReadyFunc)(void *opaque);
typedef void (BufferedWaitForUnfreezeFunc)(void *opaque);
typedef int (BufferedCloseFunc)(void *opaque);
+extern const int buffered_file_interval;
+
QEMUFile *qemu_fopen_ops_buffered(void *opaque, size_t xfer_limit,
BufferedPutFunc *put_buffer,
BufferedPutReadyFunc *put_ready,