This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-ia64-devel] [PATCH][RFC][IA64] Accelerate IDE PIO on HVM/IA64

To: Kouya SHIMURA <kouya@xxxxxxxxxxxxxx>
Subject: Re: [Xen-ia64-devel] [PATCH][RFC][IA64] Accelerate IDE PIO on HVM/IA64
From: tgingold@xxxxxxx
Date: Mon, 04 Dec 2006 09:12:49 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Mon, 04 Dec 2006 00:12:39 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <200612040217.kB42HN02022271@xxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
References: <200612040217.kB42HN02022271@xxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Internet Messaging Program (IMP) 3.2.5
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.

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 ?


Xen-ia64-devel mailing list