This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] [PATCH] Fix the very-slow-IDE-IO-speed issue of Qemu 0.90

To: "xen-devel" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH] Fix the very-slow-IDE-IO-speed issue of Qemu 0.90
From: "Cui, Dexuan" <dexuan.cui@xxxxxxxxx>
Date: Mon, 28 May 2007 19:15:25 +0800
Delivery-date: Mon, 28 May 2007 04:13:51 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcehGX2iATPOwCb2S/eEWjt/qOrhsA==
Thread-topic: [PATCH] Fix the very-slow-IDE-IO-speed issue of Qemu 0.90
c/s 15021 updated Qemu to 0.90. In the new Qemu's ide.c, asynchronous IO
(AIO) is used to replace the previous DMA thread; here when an AIO
request is completed, dom0 sends a signal SIGUSR2 to Qemu (see
block-raw.c: qemu_aio_init(),raw_aio_setup()), then the signal
interrupts the select() in main_loop_wait() at once, next,
qemu_aio_poll() is called to reap a completed AIO request.

However, in certain Linux distributions (i.e., x86_64 RHEL 4u4), if Qemu
is spawned by the python script image.py of Control Panel, the SIGUSR2
of Qemu is blocked by default due to some reasons (i.e. it seems Python
2.3.4 has this issue; 2.4.2 is ok); so in most cases the select() in
main_loop_wait() can only time out in 10ms, then the qemu_aio_poll() is
called - this results in a very slow disk IO speed...

The attached patch ensures aio_sig_num is unblocked when the AIO is used
in Qemu 0.90.

Signed-off-by: Dexuan Cui <dexuan.cui@xxxxxxxxx>

Attachment: block-raw.c.patch
Description: block-raw.c.patch

Xen-devel mailing list
<Prev in Thread] Current Thread [Next in Thread>