|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] Re: lmbench lat_mmap slowdown with CONFIG_PARAVIRT
To: |
Zachary Amsden <zach@xxxxxxxxxx> |
Subject: |
[Xen-devel] Re: lmbench lat_mmap slowdown with CONFIG_PARAVIRT |
From: |
Jeremy Fitzhardinge <jeremy@xxxxxxxx> |
Date: |
Thu, 22 Jan 2009 16:14:04 -0800 |
Cc: |
Nick Piggin <npiggin@xxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, "jeremy@xxxxxxxxxxxxx" <jeremy@xxxxxxxxxxxxx>, "rusty@xxxxxxxxxxxxxxx" <rusty@xxxxxxxxxxxxxxx>, Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>, "chrisw@xxxxxxxxxxxx" <chrisw@xxxxxxxxxxxx>, "hpa@xxxxxxxxx" <hpa@xxxxxxxxx>, Ingo Molnar <mingo@xxxxxxx>, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> |
Delivery-date: |
Thu, 22 Jan 2009 16:14:37 -0800 |
Envelope-to: |
www-data@xxxxxxxxxxxxxxxxxxx |
In-reply-to: |
<1232664907.16317.182.camel@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> |
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: |
<20090120110542.GE19505@xxxxxxxxxxxxx> <20090120112634.GA20858@xxxxxxx> <20090120140324.GA26424@xxxxxxx> <49763806.5090009@xxxxxxxx> <20090120205653.GA19710@xxxxxxx> <20090121072718.GN24891@xxxxxxxxxxxxx> <4977A051.8050203@xxxxxxxx> <1232663311.16317.176.camel@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <4978F6C6.3090003@xxxxxxxx> <1232664907.16317.182.camel@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> |
Sender: |
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |
User-agent: |
Thunderbird 2.0.0.19 (X11/20090105) |
Zachary Amsden wrote:
What about removing the identity functions entirely. They are useless,
really. All that is needed is a patch site filled with nops for Xen to
overwrite, just stuffing the value into the proper registers. For
64-bit, it can be a simple mov to satisfy the constraints.
I think it comes to the same thing really. Both end up generating a
series of nops with values entering and leaving in well-defined
registers. The x86-64 calling convention is a bit awkward because the
first arg is in rdi and the ret is rax, so it can't quite be pure nops,
or we use a non-standard calling-convention with appropriate thunks to
call into C code. I think a mov is a better performance-complexity
tradeoff.
Also, I just posted patches to get rid of all pvops calls when fetching
or setting flags in a pte, which I hope will help.
Sounds like it will help.
...but apparently not.
J
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|