code_gen_buffer_max_size should be
modified to code_gen_buffer_size.
CC: qemu-sta...@nongnu.org
Signed-off-by: Yeongkyoon Lee
---
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 to Aurelien Jarn
code_gen_buffer_max_size should be
modified to code_gen_buffer_size.
Signed-off-by: Yeongkyoon Lee
---
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 and Stefan Weil.
tran
code_gen_buffer_max_size should be
modified to code_gen_buffer_size.
Signed-off-by: Yeongkyoon Lee
---
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 and Stefan Weil.
tran
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
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
ffected, while 1.2 is not.
I have 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
Date: Wed Oct 31 16:
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
---
exec-all.h | 36
ister 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: Optimize qemu_
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
---
tcg/i386/tcg-target.c | 404
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
---
configure |6 ++
1 file changed, 6 insertions(+)
diff --git a/configure b/configure
index 9c6ac87..4be984e 100755
--- a/configure
+++ b/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:
- Reba
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: Optimize qemu_ld/st by generating sl
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
---
tcg/i386/tcg-target.c | 415
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
---
exec-all.h | 36
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
---
configure |6 ++
1 file changed, 6 insertions(+)
diff --git a/configure b/configure
index 37f712d..0493d55 100755
--- a/configure
+++ b/configure
On 2012년 10월 27일 23:29, Blue Swirl wrote:
On Sat, Oct 20, 2012 at 7:05 AM, Yeongkyoon Lee
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. Currently, it supports
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 r
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,
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
optimization
tcg: Add extended GETPC m
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
---
tcg/i386/tcg-target.c | 415
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
---
exec-all.h | 36
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
---
configure |6 ++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/configure b/configure
index 353d788..8b15111 100755
--- a/configure
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_
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
---
tcg/i386/tcg-target.c | 415
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
---
exec-all.h | 36
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
---
configure |6 ++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/configure b/configure
index 353d788..8b15111 100755
--- a/configure
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: Optimize qemu_ld/st by generating slow paths at the end of a
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
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 to
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 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 e
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 add
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
---
configure |6 ++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/configure b/configure
index e58846d..b02e079 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.
Signed-off-by: Yeongkyoon Lee
---
tcg/i386/tcg-target.c | 420
et.
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 Lee (3):
c
: Yeongkyoon Lee
---
softmmu_defs.h | 39 +++
softmmu_header.h | 15 +++
softmmu_template.h | 41 +
3 files changed, 87 insertions(+), 8 deletions(-)
diff --git a/softmmu_defs.h b/softmmu_defs.h
On 2012년 08월 28일 03:31, Peter Maydell wrote:
On 27 August 2012 08:23, Yeongkyoon Lee 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 patches committe
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년 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 opti
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
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
---
tcg/i386/tcg-target.c | 475
: Yeongkyoon Lee
---
softmmu_defs.h | 64
softmmu_header.h | 25
softmmu_template.h | 48 --
3 files changed, 129 insertions(+), 8 deletions(-)
diff --git a/softmmu_defs.h b
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
---
configure |6 ++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/configure b/configure
index cef0a71..d5b69de 100755
--- a/configure
B 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 Lee (3):
configure: Add CONFI
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, i
: Add
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 c
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
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
+++ b
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.
---
softmmu_defs
s, 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 declarations and templates of extended MMU helpers
tcg: Optimize qemu_ld/st by gene
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.
- T
On 2012년 07월 07일 16:51, Blue Swirl wrote:
On Fri, Jul 6, 2012 at 11:43 AM, Yeongkyoon Lee
wrote:
On 2012년 07월 05일 23:06, Peter Maydell wrote:
On 5 July 2012 14:23, Yeongkyoon Lee wrote:
Add an option "--enable-ldst-optimization" to enable
CONFIG_QEMU_LDST_OPTIMIZATION macro for T
On 2012년 07월 06일 03:49, Blue Swirl wrote:
On Thu, Jul 5, 2012 at 1:43 PM, Peter Maydell wrote:
On 5 July 2012 14:23, Yeongkyoon Lee wrote:
Add extended MMU helpers to softmmu targets, where the targets are alpha, arm,
cris, i386, lm32, m68k, microblaze, mips, ppc, s390x, sh4, sparc and
On 2012년 07월 05일 23:06, Peter Maydell wrote:
On 5 July 2012 14:23, Yeongkyoon Lee 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
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 just
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 commit
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. It only
works with CONFIG_SOFTMMU and doesn't work with CONFIG_TCG_PASS_AREG0.
Signed-off-by: Yeongkyoon Lee
---
configure | 15 +++
1 fi
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 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
---
softmmu_defs.h | 13 +
softmmu_template.h
register or stack though they are not used in TLB 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_QEM
Add an option "--enable-ldst-optimization" to enable
CONFIG_QEMU_LDST_OPTIMIZATION macro for TCG qemu_ld/st optimization.
Signed-off-by: Yeongkyoon Lee
---
configure | 15 +++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/configure b/configure
ind
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 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 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
r or stack though they are not used in TLB 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 targets
tcg: add optimized TCG qemu_ld/st generation
configure: add CONFIG_QEMU_LDST_OPTIMI
the weak point of solution #2.
How 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
__
one host instruction respectively.
2. The CPU cycles of host instructions are equal.
3. Ignoring TLB miss case.
__
Principal Engineer
VM Team
Yeongkyoon Lee
S-Core Co., Ltd.
D.L.: +82-31-696-7249
M.P.: +82-10-9965-1265
__
he 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, Inst
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
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.
ING-POINT INDEX: 0.5944 -> 0.5954 (+0.2%)
Yeongkyoon Lee (3): tcg: add extended MMU helper functions tcg: add optimized TCG qemu_ld/st generation configure: add CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st optimization configure | 7 + exec-all.h | 18 ++-
72 matches
Mail list logo