diff options
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2008-10-08 19:50:24 +0000
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2008-10-08 19:50:24 +0000
commit9e472e101f37233f4e32d181d2fee29014c1cf2f (patch)
tree11355529c87a6dce782b8500ce53236b4744600c /qemu-tool.c
parentCRIS: linux-user signals dont need ERP compensation after break anymore. (diff)
Fix IO performance regression in sparc
Replace signalfd with signal handler/pipe. There is no way to interrupt the CPU execution loop when a file descriptor becomes readable. This results in a large performance regression in sparc emulation during bootup. This patch switches us to signal handler/pipe which was originally suggested by Ian Jackson. The signal handler lets us interrupt the CPU emulation loop while the write to a pipe lets us avoid the select/signal race condition. Signed-off-by: Anthony Liguori <> git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'qemu-tool.c')
1 files changed, 4 insertions, 0 deletions
diff --git a/qemu-tool.c b/qemu-tool.c
index 63e205675..87cc2949b 100644
--- a/qemu-tool.c
+++ b/qemu-tool.c
@@ -26,6 +26,10 @@ struct QEMUBH
void *opaque;
+void qemu_service_io(void)
void term_printf(const char *fmt, ...)