From 9e472e101f37233f4e32d181d2fee29014c1cf2f Mon Sep 17 00:00:00 2001 From: aliguori Date: Wed, 8 Oct 2008 19:50:24 +0000 Subject: 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://svn.savannah.nongnu.org/qemu/trunk@5451 c046a42c-6fe2-441c-8c8c-71466251a162 --- compatfd.h | 28 ---------------------------- 1 file changed, 28 deletions(-) delete mode 100644 compatfd.h (limited to 'compatfd.h') diff --git a/compatfd.h b/compatfd.h deleted file mode 100644 index 55a111a572..0000000000 --- a/compatfd.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * signalfd/eventfd compatibility - * - * Copyright IBM, Corp. 2008 - * - * Authors: - * Anthony Liguori - * - * This work is licensed under the terms of the GNU GPL, version 2. See - * the COPYING file in the top-level directory. - * - */ - -#ifndef QEMU_COMPATFD_H -#define QEMU_COMPATFD_H - -#include - -struct qemu_signalfd_siginfo { - uint32_t ssi_signo; - uint8_t pad[124]; -}; - -int qemu_signalfd(const sigset_t *mask); - -int qemu_eventfd(int *fds); - -#endif -- cgit v1.2.3