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: Even faster page copy for Xen?

To: "Keir Fraser" <keir.fraser@xxxxxxxxxxxxx>, "Dan Magenheimer" <dan.magenheimer@xxxxxxxxxx>
Subject: [Xen-devel] Re: Even faster page copy for Xen?
From: "Jan Beulich" <JBeulich@xxxxxxxxxx>
Date: Fri, 06 Aug 2010 08:57:13 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Fri, 06 Aug 2010 00:58:43 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <b39a30eb-01ee-46e4-83c4-2e1b6116929e@default>
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: <b39a30eb-01ee-46e4-83c4-2e1b6116929e@default>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>>> On 15.07.10 at 20:15, Dan Magenheimer <dan.magenheimer@xxxxxxxxxx> wrote:
> Hi Jan, Keir --
> My x86 assembly skills are much too poor to carefully evaluate
> and, if of value, implement this in Xen but given your previous
> interest, such as:
> http://xenbits.xensource.com/xen-unstable.hg?rev/8de4b4e9a435 
> the following might be worth looking at.
> Intel has just posted memcpy improvements for glibc for recent
> popular Intel processor families here:
> http://article.gmane.org/gmane.comp.lib.glibc.alpha/15278 
> The preface to the above patch looks very enticing...

I'm not sure how much of this applies to the much more specific
case of copying pages... Additionally, I don't think trying to
use XMM registers in Xen would be a good idea.

> Semi-related, I wonder if you know, if there were a
> "copy_page_from_other_node()" to be used if the
> caller is fairly sure that the page is being copied
> between nodes, could this be made significantly faster
> than a normal copy_page()?

I would think that this should mostly be taken care of by
using non-temporal stores (non-temporal loads unfortunately
aren't available without using XMM registers). The only other
meaningful tuning one could do would be to increase the
prefetch distances and grow the distance between loads and
stores. The latter would require the use of more registers
and hence have other drawbacks.


Xen-devel mailing list