code_gen_buffer_max_size should be
modified to code_gen_buffer_size.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
Here's is the promised patch with Aurelien Jarno for TCG broken problem, which
is supposed to be applied to 1.3.x and 1.4.x releases as well as master.
Thanks to Aurelien Jarno
code_gen_buffer_max_size should be
modified to code_gen_buffer_size.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
Here's is the promised patch with Aurelien Jarno for TCG broken problem, which
is supposed to be applied to 1.3.x and 1.4.x releases as well as master.
Thanks to Aurelien Jarno
code_gen_buffer_max_size should be
modified to code_gen_buffer_size.
CC: qemu-sta...@nongnu.org
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
Here's the promised patch with Aurelien Jarno for TCG broken problem, which
is supposed to be applied to 1.3.x and 1.4.x releases as well as master.
Thanks
On 03/18/2013 07:27 AM, Aurélien Jarno wrote:
On Wed, Mar 06, 2013 at 07:10:17AM +0100, Aurélien Jarno wrote:
On Wed, Mar 06, 2013 at 11:05:15AM +0900, Yeongkyoon Lee wrote:
On 03/05/2013 11:18 PM, Aurélien Jarno wrote:
On Mon, Mar 04, 2013 at 05:37:31PM +0100, Aurélien Jarno wrote:
Hi
On 03/22/2013 07:11 AM, Aurélien Jarno wrote:
On Thu, Mar 21, 2013 at 04:04:44PM +0900, Yeongkyoon Lee wrote:
On 03/18/2013 07:27 AM, Aurélien Jarno wrote:
On Wed, Mar 06, 2013 at 07:10:17AM +0100, Aurélien Jarno wrote:
On Wed, Mar 06, 2013 at 11:05:15AM +0900, Yeongkyoon Lee wrote:
On 03/05
found that the issue comes from the following commits, which
unfortunately are not bisectable one by one (though it won't change the
results a lot):
commit b76f0d8c2e3eac94bc7fd90a510cb7426b2a2699
Author: Yeongkyoon Lee yeongkyoon@samsung.com
Date: Wed Oct 31 16:04:25 2012 +0900
Enable CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st optimization only when
a host is i386 or x86_64.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
configure |6 ++
1 file changed, 6 insertions(+)
diff --git a/configure b/configure
index 9c6ac87..4be984e 100755
Add optimized TCG qemu_ld/st generation which locates the code of TLB miss
cases at the end of a block after generating the other IRs.
Currently, this optimization supports only i386 and x86_64 hosts.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
tcg/i386/tcg-target.c | 404
.
This remains as a further issue.
Yeongkyoon Lee (3):
configure: Add CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st
optimization
tcg: Add extended GETPC mechanism for MMU helpers with ldst
optimization
tcg: Optimize qemu_ld/st by generating slow paths at the end of a
block
Add GETPC_EXT which is used by MMU helpers to selectively calculate the code
address of accessing guest memory when called from a qemu_ld/st optimized code
or a C function. Currently, it supports only i386 and x86-64 hosts.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
exec-all.h
Enable CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st optimization only when
a host is i386 or x86_64.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
configure |6 ++
1 file changed, 6 insertions(+)
diff --git a/configure b/configure
index 37f712d..0493d55 100755
Add GETPC_EXT which is used by MMU helpers to selectively calculate the code
address of accessing guest memory when called from a qemu_ld/st optimized code
or a C function. Currently, it supports only i386 and x86-64 hosts.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
exec-all.h
Add optimized TCG qemu_ld/st generation which locates the code of TLB miss
cases at the end of a block after generating the other IRs.
Currently, this optimization supports only i386 and x86_64 hosts.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
tcg/i386/tcg-target.c | 415
as a further issue.
Yeongkyoon Lee (3):
configure: Add CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st
optimization
tcg: Add extended GETPC mechanism for MMU helpers with ldst
optimization
tcg: Optimize qemu_ld/st by generating slow paths at the end of a
block
configure
I've found that git status of my local repo is somewhat twisted.
Sorry for your inconvenience. I'll send new patch after cleaning my repo.
On 2012년 10월 29일 23:32, Yeongkyoon Lee wrote:
Here is the 7th version of the series optimizing TCG qemu_ld/st code generation.
v7:
- Rebase and fix
On 2012년 10월 27일 23:29, Blue Swirl wrote:
On Sat, Oct 20, 2012 at 7:05 AM, Yeongkyoon Lee
yeongkyoon@samsung.com wrote:
Add GETPC_EXT which is used by MMU helpers to selectively calculate the code
address of accessing guest memory when called from a qemu_ld/st optimized code
or a C function
On 2012년 10월 20일 16:05, Yeongkyoon Lee wrote:
Let me resend this patch, because it looks ignored except for the comment from
Richard Henderson for which I've replied.
Here is the 6th version of the series optimizing TCG qemu_ld/st code generation.
v6:
- Remove an extra argument of return
On 2012년 10월 24일 00:25, 陳韋任 (Wei-Ren Chen) wrote:
Hi Yeongkyoon,
+#if defined(CONFIG_QEMU_LDST_OPTIMIZATION) defined(CONFIG_SOFTMMU)
+/* check whether the give addr is in TCG generated code buffer or not */
should be given.
Cheers,
chenwj
Thanks a lot,
Enable CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st optimization only when
a host is i386 or x86_64.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
configure |6 ++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/configure b/configure
index 353d788
Add GETPC_EXT which is used by MMU helpers to selectively calculate the code
address of accessing guest memory when called from a qemu_ld/st optimized code
or a C function. Currently, it supports only i386 and x86-64 hosts.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
exec-all.h
Add optimized TCG qemu_ld/st generation which locates the code of TLB miss
cases at the end of a block after generating the other IRs.
Currently, this optimization supports only i386 and x86_64 hosts.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
tcg/i386/tcg-target.c | 415
address, in register or stack though they are not used
in TLB hit case.
This remains as a further issue.
Yeongkyoon Lee (3):
configure: Add CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st
optimization
tcg: Add extended GETPC mechanism for MMU helpers with ldst
optimization
tcg
On 2012년 10월 18일 08:44, Richard Henderson wrote:
On 2012-10-16 17:23, Yeongkyoon Lee wrote:
+/* Code generation of qemu_ld/st's slow path calling MMU helper
+
+ PRE_PROC ...
+ call MMU helper
+ jmp POST_PROC (2b) : short forward jump - GETRA()
+ jmp next_code (5b
solution yet.
In my opinion, TLB hit case performance could be degraded if removing the
calling codes, because it needs to set runtime parameters, such as, data,
mmu index and return address, in register or stack though they are not used
in TLB hit case.
This remains as a further issue.
Yeongkyoon
Enable CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st optimization only when
a host is i386 or x86_64.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
configure |6 ++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/configure b/configure
index 353d788
Add GETPC_EXT which is used by MMU helpers to selectively calculate the code
address of accessing guest memory when called from a qemu_ld/st optimized code
or a C function. Currently, it supports only i386 and x86-64 hosts.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
exec-all.h
Add optimized TCG qemu_ld/st generation which locates the code of TLB miss
cases at the end of a block after generating the other IRs.
Currently, this optimization supports only i386 and x86_64 hosts.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
tcg/i386/tcg-target.c | 415
On 2012년 10월 10일 15:45, Aurelien Jarno wrote:
On Wed, Oct 10, 2012 at 01:17:36PM +0900, Yeongkyoon Lee wrote:
On 2012년 10월 10일 02:09, Aurelien Jarno wrote:
On Tue, Oct 09, 2012 at 06:55:58PM +0200, Paolo Bonzini wrote:
Il 09/10/2012 18:19, Aurelien Jarno ha scritto:
Instead of calling
On 2012년 10월 10일 03:36, Richard Henderson wrote:
On 10/09/2012 05:37 AM, Yeongkyoon Lee wrote:
Add declarations and templates of extended MMU helpers.
An extended helper takes an additional argument of the host address accessing
a guest memory which differs from the address of the call site
On 2012년 10월 10일 19:34, Yeongkyoon Lee wrote:
On 2012년 10월 10일 15:45, Aurelien Jarno wrote:
On Wed, Oct 10, 2012 at 01:17:36PM +0900, Yeongkyoon Lee wrote:
On 2012년 10월 10일 02:09, Aurelien Jarno wrote:
On Tue, Oct 09, 2012 at 06:55:58PM +0200, Paolo Bonzini wrote:
Il 09/10/2012 18:19
-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
softmmu_defs.h | 39 +++
softmmu_header.h | 15 +++
softmmu_template.h | 41 +
3 files changed, 87 insertions(+), 8 deletions(-)
diff --git
be degraded if removing the
calling codes, because it needs to set runtime parameters, such as, data,
mmu index and return address, in register or stack though they are not used
in TLB hit case.
This remains as a further issue.
Yeongkyoon Lee (3):
configure: Add CONFIG_QEMU_LDST_OPTIMIZATION for TCG
Add optimized TCG qemu_ld/st generation which locates the code of TLB miss
cases at the end of a block after generating the other IRs.
Currently, this optimization supports only i386 and x86_64 hosts.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
tcg/i386/tcg-target.c | 420
Enable CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st optimization only when
a host is i386 or x86_64.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
configure |6 ++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/configure b/configure
index e58846d
On 2012년 10월 10일 02:09, Aurelien Jarno wrote:
On Tue, Oct 09, 2012 at 06:55:58PM +0200, Paolo Bonzini wrote:
Il 09/10/2012 18:19, Aurelien Jarno ha scritto:
Instead of calling the MMU helper with an additional argument (7), and
then jump back (8) to the next code (4), what about pushing the
On 2012년 10월 10일 03:49, Richard Henderson wrote:
On 10/09/2012 05:37 AM, Yeongkyoon Lee wrote:
+#if defined(CONFIG_QEMU_LDST_OPTIMIZATION) defined(CONFIG_SOFTMMU)
+/* Initialize qemu_ld/st labels to assist code generation at the end of TB
+ for TLB miss cases at the end of TB
It's been a long time.
I've tested the performances of one jump difference when fast qemu_ld/st
(TLB hit).
The result shows 3.6% CoreMark enhancement when reducing one jump where slow
paths are generated at the end of block as same for the both cases.
That means reducing one jump dominates the
On 2012년 08월 28일 03:31, Peter Maydell wrote:
On 27 August 2012 08:23, Yeongkyoon Lee yeongkyoon@samsung.com wrote:
BTW, who will finally confirm my patches?
I have sent four version of my patches in which I have applied all the
reasonable feedbacks from this community.
If you'd like your
On 2012년 07월 29일 00:39, Yeongkyoon Lee wrote:
On 2012년 07월 25일 23:00, Richard Henderson wrote:
On 07/25/2012 12:35 AM, Yeongkyoon Lee wrote:
+#if defined(CONFIG_QEMU_LDST_OPTIMIZATION) defined(CONFIG_SOFTMMU)
+/* Macros/structures for qemu_ld/st IR code optimization:
+ TCG_MAX_HELPER_LABELS
On 2012년 07월 25일 23:00, Richard Henderson wrote:
On 07/25/2012 12:35 AM, Yeongkyoon Lee wrote:
+#if defined(CONFIG_QEMU_LDST_OPTIMIZATION) defined(CONFIG_SOFTMMU)
+/* Macros/structures for qemu_ld/st IR code optimization:
+ TCG_MAX_HELPER_LABELS is defined as same as OPC_BUF_SIZE in exec
the
calling codes, because it needs to set runtime parameters, such as, data,
mmu index and return address, in register or stack though they are not used
in TLB hit case.
This remains as a further issue.
Yeongkyoon Lee (3):
configure: Add CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st
Enable CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st optimization only when
a host is i386 or x86_64.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
configure |6 ++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/configure b/configure
index cef0a71
-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
softmmu_defs.h | 64
softmmu_header.h | 25
softmmu_template.h | 48 --
3 files changed, 129 insertions(+), 8 deletions(-)
diff
Add optimized TCG qemu_ld/st generation which locates the code of TLB miss
cases at the end of a block after generating the other IRs.
Currently, this optimization supports only i386 and x86_64 hosts.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
tcg/i386/tcg-target.c | 475
Ping?
On 2012년 07월 17일 11:06, YeongKyoon Lee wrote:
The reason why softmmu condition in configure is that softmmu is thought to
be a logical prerequisite of ldst optimization.
Current patch causes compilation error if removed the condition above.
To avoid compilation error, it needs more
CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st optimization
On Sat, Jul 14, 2012 at 10:23 AM, Yeongkyoon Lee
wrote:
Enable CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st optimization only when
a target uses softmmu and a host is i386 or x86_64.
---
configure |8
1 files changed, 8
hit case.
This remains as a further issue.
Yeongkyoon Lee (3):
configure: Add CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st
optimization
tcg: Add declarations and templates of extended MMU helpers
tcg: Optimize qemu_ld/st by generating slow paths at the end of a
block
configure
Add declarations and templates of extended MMU helpers.
An extended helper takes an additional argument of the host address accessing
a guest memory which differs from the address of the call site to the helper
because helper call sites locate at the end of a generated code block.
---
Enable CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st optimization only when
a target uses softmmu and a host is i386 or x86_64.
---
configure |8
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/configure b/configure
index 500fe24..5b39c80 100755
--- a/configure
+++
Add optimized TCG qemu_ld/st generation which locates the code of TLB miss
cases at the end of a block after generating the other IRs.
Currently, this optimization supports only i386 and x86_64 hosts.
---
tcg/i386/tcg-target.c | 475 +++--
tcg/tcg.c
On 2012년 07월 05일 22:23, Yeongkyoon Lee wrote:
Summarized feature is as following.
- All the changes are wrapped by macro CONFIG_QEMU_LDST_OPTIMIZATION and
disabled by default.
- They are enabled by configure --enable-ldst-optimization and need
CONFIG_SOFTMMU.
- They do not work
On 2012년 07월 07일 16:51, Blue Swirl wrote:
On Fri, Jul 6, 2012 at 11:43 AM, Yeongkyoon Lee
yeongkyoon@samsung.com wrote:
On 2012년 07월 05일 23:06, Peter Maydell wrote:
On 5 July 2012 14:23, Yeongkyoon Lee yeongkyoon@samsung.com wrote:
Add an option --enable-ldst-optimization to enable
Add declarations and templates of extended MMU helpers which can take return
address argument to what helper functions return. These extended helper
functions are called only by generated code.
It's not entirely clear from this description what the
return address argument actually is.
My
Is it really worth having this as a CONFIG_ switch? If we think
it's better to do this out of line we should just switch to
always generating the out of line code, I think. There's not much
point in retaining the old code path if it's disabled -- it will
just bitrot.
I agree.
However, it is
On 2012년 07월 05일 23:06, Peter Maydell wrote:
On 5 July 2012 14:23, Yeongkyoon Lee yeongkyoon@samsung.com 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
On 2012년 07월 06일 03:49, Blue Swirl wrote:
On Thu, Jul 5, 2012 at 1:43 PM, Peter Maydell peter.mayd...@linaro.org wrote:
On 5 July 2012 14:23, Yeongkyoon Lee yeongkyoon@samsung.com wrote:
Add extended MMU helpers to softmmu targets, where the targets are alpha, arm,
cris, i386, lm32, m68k
hit case.
This remains as a further issue.
Yeongkyoon Lee (4):
tcg: add declarations and templates of extended MMU helpers
tcg: add extended MMU helpers to softmmu targets
tcg: add optimized TCG qemu_ld/st generation
configure: add CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st
Add declarations and templates of extended MMU helpers which can take return
address argument to what helper functions return. These extended helper
functions are called only by generated code.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
softmmu_defs.h | 13
Add extended MMU helpers to softmmu targets, where the targets are alpha, arm,
cris, i386, lm32, m68k, microblaze, mips, ppc, s390x, sh4, sparc and xtensa.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
target-alpha/mem_helper.c | 22 ++
target-arm
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.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
configure | 15
Add optimized TCG qemu_ld/st generation which generates the code for TLB miss
case handling at the end of TB after generating other IRs.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
tcg/i386/tcg-target.c | 328 +
tcg/tcg.c
Add declarations and templates of extended MMU helpers which can take return
address argument to what helper functions return.
Signed-off-by: Yeongkyoon Lee
---
softmmu_defs.h | 13 +
softmmu_template.h | 51 +--
2 files changed
Add extended MMU helpers to softmmu targets, where the targets are alpha, arm,
cris, i386, lm32, m68k, microblaze, mips, ppc, s390x, sh4, sparc and xtensa.
Signed-off-by: Yeongkyoon Lee
---
target-alpha/mem_helper.c | 22 ++
target-arm/op_helper.c| 23
Add optimized TCG qemu_ld/st generation which generates the code for TLB miss
case handling at the end of TB after generating other IRs.
Signed-off-by: Yeongkyoon Lee
---
tcg/i386/tcg-target.c | 328 +
tcg/tcg.c | 12 ++
tcg/tcg.h
Add an option --enable-ldst-optimization to enable
CONFIG_QEMU_LDST_OPTIMIZATION macro for TCG qemu_ld/st optimization.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com
---
configure | 15 +++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/configure b
case.
This remains as a further issue.
Yeongkyoon Lee (4):
tcg: add declarations and templates of extended MMU helpers
tcg: add extended MMU helpers to targets
tcg: add optimized TCG qemu_ld/st generation
configure: add CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st optimization
configure
do you think about it?
__
Principal Engineer
VM Team
Yeongkyoon Lee
S-Core Co., Ltd.
D.L.: +82-31-696-7249
M.P.: +82-10-9965-1265
__
rate of the QEMU TLB. Another thing to consider is speeding up the
fast path; see YeongKyoon Lee RFC patch:
http://www.mail-archive.com/qemu-devel@nongnu.org/msg91294.html
I only see PATCH 0/3, any idea on where the others?
Regards,
chenwj
--
Wei-Ren Chen (陳韋任)
Computer Systems Lab
respectively.
2. The CPU cycles of host instructions are equal.
3.Ignoring TLB miss case.
__
Principal Engineer
VMTeam
Yeongkyoon Lee
S-Core Co., Ltd.
D.L.: +82-31-696-7249
M.P.: +82-10-9965-1265
__
Title: Samsung Enterprise Portal mySingle
MMU helper functions defined in softmmu_template.h are extended to receive their return address so that they return to give addresses not caller's pc's.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com---exec-all.h | 16
Title: Samsung Enterprise Portal mySingle
Add an option "--enable-ldst-optimization" to enable CONFIG_QEMU_LDST_OPTIMIZATION macro for TCG qemu_ld/st optimization.
Signed-off-by: Yeongkyoon Lee yeongkyoon@samsung.com---configure | 7 +++1 files changed, 7 insertions(+), 0
(+0.2%)
Yeongkyoon Lee (3):tcg: add extended MMU helper functionstcg: add optimized TCG qemu_ld/st generationconfigure: add CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st optimizationconfigure | 7 +exec-all.h | 18 ++-softmmu_template.h | 123 +++tcg/i386/tcg-target.c | 392
72 matches
Mail list logo