qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC][PATCH v2 4/4] configure: add CONFIG_QEMU_LDST_OPT


From: Yeongkyoon Lee
Subject: Re: [Qemu-devel] [RFC][PATCH v2 4/4] configure: add CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st optimization
Date: Sun, 08 Jul 2012 17:35:36 +0900
User-agent: Mozilla/5.0 (X11; Linux i686; rv:13.0) Gecko/20120615 Thunderbird/13.0.1

On 2012년 07월 07일 16:51, Blue Swirl wrote:
On Fri, Jul 6, 2012 at 11:43 AM, Yeongkyoon Lee
<address@hidden> wrote:
On 2012년 07월 05일 23:06, Peter Maydell wrote:
On 5 July 2012 14:23, Yeongkyoon Lee <address@hidden> wrote:
Add an option "--enable-ldst-optimization" to enable
CONFIG_QEMU_LDST_OPTIMIZATION macro for TCG qemu_ld/st optimization. It only
works with CONFIG_SOFTMMU and doesn't work with CONFIG_TCG_PASS_AREG0.
This shouldn't be a user settable config option -- we should
just identify what the optimal setting is for the guest/target
combination and use it.

It looks better remove the option after it is confirmed that it works well
for all the guest target architectures.


   case "$target_arch2" in
     alpha | sparc* | xtensa* | ppc*)
       echo "CONFIG_TCG_PASS_AREG0=y" >> $config_target_mak
+    # qemu_ld/st optimization is not available with
CONFIG_TCG_PASS_AREG0
+    target_ldst_optimization="no"
PASS_AREG0 is the way of the future -- you need to fix the ldst
optimization to work with it.

There are two reasons to prevent working with PASS_AREG0.
The first one is I'm not sure the history and future PASS_AREG0 and have not
tested PASS_AREG0 which is only enabled for some guest architectures..
The second is a problem of too many conditional paths in sources.
I think it is not late to combine the ldst optimization with PASS_AREG0
after the ldst optimization agreed as default.
It looks like you already support PASS_AREG0, the slow path code just
passes AREG0 as the first call argument.



The code in slow path is currently dead code just for future PASS_AREG0 porting.
It needs some porting for actual working.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]