|  |  | 
  
    |  |  | 
 
  |   |  | 
  
    |  |  | 
  
    |  |  | 
  
    |   xen-ia64-devel
Re: [Xen-ia64-devel] [PATCH][RFC][IA64] Accelerate IDE PIO on HVM/IA64 
| Quoting Kouya SHIMURA <kouya@xxxxxxxxxxxxxx>:
> This patch significantly accelerates IDE PIO on HVM/IA64:
> * reduces the installation time of Windows 2003 Server
>   from 10 hours(!) to 50min.
> * accelerates Windows CrashDumping speed from 40KB/sec
>   (It takes over three hours for 512MB guest) to 850KB/sec.
>
> All reason for above slowness is the overhead of IDE PIO.
> Of course Windows should use DMA mode but we can't handle it.
> (FYI. Once installed, Windows usually uses DMA mode)
>
> On the other hand, x86 arch is rescued from this issue since it has a
> CISC instruction and multiple PIO requests can be processed in qemu-dm
> at one transaction. So this patch gives no benefit for x86.
>
> There are some dirty hacks in this patch:
> * To begin with, is it permissive to delegate the part of process of
> qemu-dm to hypervisor?
> * Currently it uses remnant of buffered_iopage (for VGA).
>   Maybe I should prepare another page for IDE PIO.
> * May I use "#ifdef __ia64__" ?
> * and so on.
Hi,
clever idea!
Two remarks:
* you can't assume page size = 16KB.  Xen can be compiled with other page
sizes (and should work with other page sizes).  As an easy approach, you can
disable this optimization iff page size != 16KB (or use smaller buffers).
* To be written data are not flushed directly.  I suppose they are flushed
while status is checked.  Is it safe ?
Tristan.
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
 | 
 |  | 
  
    |  |  |