|
From: | John Coiner |
Subject: | [Qemu-devel] [patch] Concurrent IO Support |
Date: | Fri, 30 Sep 2005 03:53:08 -0400 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.11) Gecko/20050731 |
Folks,Here's a patch which allows guest CPU cycles to run concurrent with IO syscalls:
http://people.brandeis.edu/~jcoiner/qemu_idedma/qemu_dma_patch.htmlIt's actually two patches -- a patch which enables DMA support (the same one posted here a few days ago) and a second patch which applies on top of the first. The second patch is the big one, because there was a little bit of refactoring and a few chunks of new code needed to get concurrent IO going.
If you try this, please let me know what your experience is. This patch makes the IDE code a little more gnarly, so it's only worth applying if people notice the speed-up.
Under both CPU load and IO load, the patch improves the performance of each, at least on my system. I haven't seen it make anything slower yet.
Troy and Henrik: thanks for suggesting AIO. That is probably the way to go. This patch uses pthreads, because I was more comfortable with them. The Linux Posix AIO stuff looked a little young. In the future, though, it should be pretty easy to convert this implementation to AIO.
Regards, --John
[Prev in Thread] | Current Thread | [Next in Thread] |