Re: [Qemu-devel] [patch] non-blocking disk IO

2005-11-28 Thread Ryan Rempel
I've been using the non-blocking IO / DMA patch with a FreeBSD host and Windows 98 guest. It seems to work well -- I haven't done any benchmarking, but subjectively it seems to make a difference. However, I tried enabling DMA in the Windows 98 system settings for the C: drive, and that doesn't

Re: [Qemu-devel] [patch] non-blocking disk IO

2005-10-04 Thread Jens Axboe
On Tue, Oct 04 2005, Troy Benjegerdes wrote: What we want is to be able to have the guest OS request some DMA I/O operation, and have qemu be able to use AIO so that the actual disk hardware can dump the data directly in the pages the userspace process on the guest OS ends up wanting it in,

Re: [Qemu-devel] [patch] non-blocking disk IO

2005-10-04 Thread John Coiner
Whoops. I had the mistaken belief that Qemu already used pthreads. So, the makefiles and configure script need to handle pthreads somehow (especially on windows.) Pthreads-w32 is refusing to 'make install' itself into standard lib and include directories. Unlike SDL, there is no

Re: [Qemu-devel] [patch] non-blocking disk IO

2005-10-04 Thread Christian MICHON
I did not manage a static link on win32 yesterday. I needed the pthread dll in the same directory as qemu.exe. I'll look more into it. On 10/4/05, John Coiner [EMAIL PROTECTED] wrote: Suppose that on Windows, we tell people to unpack the pthread distribution within the qemu tree. Qemu's

Re: [Qemu-devel] [patch] non-blocking disk IO

2005-10-04 Thread Christian MICHON
Then all is good and I should not use (2) as a benchmark. Thanks for clarifying :) On 10/4/05, John Coiner [EMAIL PROTECTED] wrote: (1) is a parallel task -- 'tar' and 'bunzip2' run concurrently. You see a benefit here when one process can use the CPU while the other is blocked waiting for IO.

Re: [Qemu-devel] [patch] non-blocking disk IO

2005-10-04 Thread Troy Benjegerdes
On Mon, Oct 03, 2005 at 11:16:18PM -0400, John Coiner wrote: Troy Benjegerdes wrote: I am also haveing trouble getting a fresh win2k install under qemu to actually be able to run windows update. I had to download and install Win2k SP4, then Win2k SP4 Hotfixes, and also an IE6

Re: [Qemu-devel] [patch] non-blocking disk IO

2005-10-04 Thread John Coiner
I had to download and install Win2k SP4, then Win2k SP4 Hotfixes, and also an IE6 upgrade, before windows update ran. Are you running with a tun/tap device, or -user-net ? I'm still unable to get windowsupdate to work. Getting it to work in vmware seems to work on the first try. I've been

[Qemu-devel] [patch] non-blocking disk IO

2005-10-03 Thread John Coiner
Non-blocking disk IO now works for any type of disk image, not just raw format. There is no longer any format-specific code in the patch: http://people.brandeis.edu/~jcoiner/qemu_idedma/qemu_dma_patch.html You might want this patch if: * you run a multitasking guest OS, * you access a disk

Re: [Qemu-devel] [patch] non-blocking disk IO

2005-10-03 Thread John Coiner
Magnus, I don't think the Windows 2000 install hack will ever be obsolete. The installer assumes that a hard disk will take nonzero time to read some data. QEMU always services a read in zero-guest-time. (With the nonblocking IO patch, zero-guest-time reads still occur, when the requested

Re: [Qemu-devel] [patch] non-blocking disk IO

2005-10-03 Thread Christian MICHON
I managed to make it work (qemu+non blocking IO on windows host), with a rough estimation of 10% speed increase at the early stage of windows setup. I expect more once windows installs itself in true multitasking mode. :) What you need to do is: - download pthreads-w32-2-6-0-release.tar.gz and

Re: [Qemu-devel] [patch] non-blocking disk IO

2005-10-03 Thread Jens Axboe
On Mon, Oct 03 2005, John Coiner wrote: Non-blocking disk IO now works for any type of disk image, not just raw format. There is no longer any format-specific code in the patch: http://people.brandeis.edu/~jcoiner/qemu_idedma/qemu_dma_patch.html You might want this patch if: * you run

Re: [Qemu-devel] [patch] non-blocking disk IO

2005-10-03 Thread Fabrice Bellard
Thank you for the patch. I'll look at it ASAP. If there is no regression (in terms of bugs and performance) I will include it soon: I consider that non blocking I/O is now a critical feature in QEMU in order to get better performances. Fabrice. John Coiner wrote: Non-blocking disk IO now

Re: [Qemu-devel] [patch] non-blocking disk IO

2005-10-03 Thread John Coiner
Jens Axboe wrote: Why not use aio for this instead, seems like a better fit than spawning a thread per block device? That would still require a thread for handling completions, but you could easily just use a single completion thread for all devices for this as it would not need to do any

Re: [Qemu-devel] [patch] non-blocking disk IO

2005-10-03 Thread Troy Benjegerdes
On Mon, Oct 03, 2005 at 08:41:46AM -0400, John Coiner wrote: Magnus, I don't think the Windows 2000 install hack will ever be obsolete. The installer assumes that a hard disk will take nonzero time to read some data. QEMU always services a read in zero-guest-time. (With the

Re: [Qemu-devel] [patch] non-blocking disk IO

2005-10-03 Thread John Coiner
Troy Benjegerdes wrote: I am also haveing trouble getting a fresh win2k install under qemu to actually be able to run windows update. I had to download and install Win2k SP4, then Win2k SP4 Hotfixes, and also an IE6 upgrade, before windows update ran. -john

Re: [Qemu-devel] [patch] non-blocking disk IO

2005-10-03 Thread Henrik Nordstrom
On Mon, 3 Oct 2005, Troy Benjegerdes wrote: Why is there a posix async IO 'standard', but a different linux AIO standard? Because the Posix AIO sucks quite badly both to implement and use. But all Linuxes I know of have a Posix AIO library. Some even have a Posix AIO library using Linux

Re: [Qemu-devel] [patch] non-blocking disk IO

2005-10-03 Thread John Coiner
Why is there a posix async IO 'standard', but a different linux AIO standard? Linux has a Posix AIO library that sits on top of linux's native AIO: http://www.bullopensource.org/posix/ It's pretty new, version 0.6. We might not want qemu to depend on it, because most distros probably

Re: [Qemu-devel] [patch] non-blocking disk IO

2005-10-03 Thread Troy Benjegerdes
If you anyway plan on having Posix AIO support then go for the Posix AIO interface. The performance reasons why Linux AIO exists is very unlikely to be an issue to qemu as you need to be quite I/O intensive to see any performance difference. Ideally, we should be able to use a Posix AIO