qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 0/2] ide: convert pio code path to asynchronous


From: Zhi Yong Wu
Subject: Re: [Qemu-devel] [PATCH 0/2] ide: convert pio code path to asynchronous I/O
Date: Thu, 29 Mar 2012 10:15:52 +0800

On Wed, Mar 28, 2012 at 11:43 PM, Stefan Hajnoczi
<address@hidden> wrote:
> IDE PIO mode is currently implemented using synchronous I/O functions.  
> There's
> no need to do this because the IDE interface is actually designed with polling
> and interrupts in mind - we can do asynchronous I/O and let the guest know 
> when
> the operation has completed.  The benefit of asynchronous I/O is that the 
> guest
> can continue executing code and is more responsive.
>
> The second aim of this conversion is to avoid calling bdrv_read()/bdrv_write()
> since they do not work with I/O throttling.  This means guests should now boot
> IDE drives successfully when I/O throttling is enabled.
>
> Note that ATAPI is not converted yet and still uses bdrv_read() in two
> locations.  A future patch will have to convert ATAPI so CD-ROMs also do
> asynchronous I/O.
>
> I have tested both Windows 7 Home Premium and Red Hat Enterprise Linux 6.0
> guests with these patches.  In Windows, use the device manager to disable DMA
> on the IDE channels.  Under recent Linux kernels, use the libata.dma=0 kernel
> parameter.
>
> Chris and Richard: Please test this to confirm that it fixes the hang you
> reported.
>
> Stefan Hajnoczi (2):
>  ide: convert ide_sector_read() to asynchronous I/O
>  ide: convert ide_sector_write() to asynchronous I/O
>
>  hw/ide/core.c     |  129 ++++++++++++++++++++++++++++++++++++----------------
>  hw/ide/internal.h |    2 +
>  2 files changed, 91 insertions(+), 40 deletions(-)
>
> --
> 1.7.9.1
>
>

Reviewed-by: Zhi Yong Wu <address@hidden>

-- 
Regards,

Zhi Yong Wu



reply via email to

[Prev in Thread] Current Thread [Next in Thread]