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 wor

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

2005-10-05 Thread Troy Benjegerdes
On Wed, Oct 05, 2005 at 03:27:18PM +0400, Brad Campbell wrote: > John Coiner wrote: > > > > >Thanks for the report. I was able to reproduce this. > > > >The problem was due to missing Makefile dependencies. The patch modifies > >'block_int.h', which is #included in several '.c' files. The file >

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

2005-10-05 Thread Brad Campbell
John Coiner wrote: Thanks for the report. I was able to reproduce this. The problem was due to missing Makefile dependencies. The patch modifies 'block_int.h', which is #included in several '.c' files. The file 'block.c' recompiled at 'make' time, but 'block-qcow.c' didn't. The resulting '.

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

2005-10-04 Thread Troy Benjegerdes
On Tue, Oct 04, 2005 at 06:11:41PM -0400, John Coiner wrote: > > >>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 w

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

2005-10-04 Thread John Coiner
Brad Campbell wrote: With this patch qemu will not boot the qcow files but will boot the base images (I copy them and then try to boot to test). As soon as I patch -R && make, qemu will boot the qcow files no problems.. Let me clarify that.. qemu-img create -f qcow xp.img 4G qemu -cdrom xp.i

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

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

2005-10-04 Thread Brad Campbell
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 a multitasking guest OS,

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 a

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

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

2005-10-04 Thread John Coiner
Christian MICHON wrote: hmmm the static binary crashes, the one with ptreadGC2.dll is ok. What I tried to measure, on windows host, kqemu-0.7.2 loaded, was: (1) tar -jxf linux-2.6.10.tar.bz2 (2) make allnoconfig; make I confirm ~18% speed improvement in case (1), but no change more or le

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

2005-10-04 Thread Jens Axboe
On Tue, Oct 04 2005, Christian MICHON wrote: > hmmm > > the static binary crashes, the one with ptreadGC2.dll is ok. > > What I tried to measure, on windows host, kqemu-0.7.2 > loaded, was: > (1) tar -jxf linux-2.6.10.tar.bz2 > (2) make allnoconfig; make > > I confirm ~18% speed improvement

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

2005-10-04 Thread Christian MICHON
hmmm the static binary crashes, the one with ptreadGC2.dll is ok. What I tried to measure, on windows host, kqemu-0.7.2 loaded, was: (1) tar -jxf linux-2.6.10.tar.bz2 (2) make allnoconfig; make I confirm ~18% speed improvement in case (1), but no change more or less for case (2). I believe m

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

2005-10-04 Thread Christian MICHON
indeed, this was a quick and dirty hack :) I just managed to compile pthreadGC2 statically... pthread.h has to be modified to include extra PTW32_STATIC_LIB info, like this: #define PTW32_VERSION 2,6,0,0 #define PTW32_VERSION_STRING "2, 6, 0, 0\0" #define PTW32_STATIC_LIB 1 I'll test it later tod

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

2005-10-04 Thread Elefterios Stamatogiannakis
Thanks for the info. #ifdef WIN32 void usleep(unsigned long usec) { Sleep(usec/1000); } #endif The division "usec/1000" is an expensive operation on any processor. Maybe it would be better just to use "_sleep(1)" which is analogous to usleep(1000) ? This is what i did to have it comp

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 con

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 'pthread-conf

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

2005-10-03 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-03 Thread Jens Axboe
On Mon, Oct 03 2005, John Coiner wrote: > > > 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

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

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 do

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

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 Troy Benjegerdes
On Mon, Oct 03, 2005 at 03:58:40PM +0200, Jens Axboe wrote: > 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/~jcoine

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 > non

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

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 wo

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: >

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 com

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 da

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

2005-10-03 Thread Elefterios Stamatogiannakis
With which pthreads library have you compiled it under windows? I've tried it with the one here: ftp://sources.redhat.com/pub/pthreads-win32/ but it didn't compile. teris. John Coiner wrote: Non-blocking disk IO now works for any type of disk image, not just "raw" format. There is no longe

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

2005-10-03 Thread Magnus Damm
John, On 10/3/05, John Coiner <[EMAIL PROTECTED]> 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

[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 dis