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