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.html

It'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


_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel

Reply via email to