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


[Xen-devel] Re: [PATCH] x86/hvm: accelerate IO intercept handling

To: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Subject: [Xen-devel] Re: [PATCH] x86/hvm: accelerate IO intercept handling
From: Andre Przywara <andre.przywara@xxxxxxx>
Date: Fri, 5 Mar 2010 16:49:49 +0100
Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Fri, 05 Mar 2010 07:51:46 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C7B6CB12.C524%keir.fraser@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <C7B6CB12.C524%keir.fraser@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird (X11/20090329)
Keir Fraser wrote:
On 05/03/2010 14:36, "Andre Przywara" <andre.przywara@xxxxxxx> wrote:

I simply boot tested both versions and ran some simple benchmarks.
A micro benchmark (hammering an I/O port in a tight loop) shows a
significant performance improvement (down to 66% of the time needed to
handle the intercept on a K8, measured in the guest with TSC).
Even with reading a 1GB file from an emulated IDE harddisk (Dom0 cached)
I could get a  4-5% improvement.
We found some guests (e.g. the TCP stack in some Windows version) which
exercise the PM-Timer I/O port (0x1F48) very often (multiple 10,000
times per second), these workloads also benefit from this patch.

By how much? I mean, the microbenchmark and 5% speedup on our poor-man's IO
path are not very interesting.
Educated estimation: Sysmark productivity should give about 0.5%, Passmark TCP localhost transfer on Windows 2008R2 should improve about 5%.

> Unless the speedup on the only
possibly-interesting workload you mention is significant, this whole
optimisation seems unnecessary.
Actually it is missing enablement. What is the purpose of going through the emulator (mapping and walking guest page tables, reading guest instruction memory, decoding x86 code) when you don't have to? KVM is implementing this for quite some time now.

And, after all, low hanging fruits are growing higher nowadays, so I'd consider an even modest performance improvement for _every_ machine by just a software patch a valuable thing.


Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany
Tel: +49 351 448 3567 12
----to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Karl-Hammerschmidt-Str. 34, 85609 Dornach b. Muenchen
Geschaeftsfuehrer: Andrew Bowd; Thomas M. McCoy; Giuliano Meroni
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>