* [Qemu-devel] [PATCH v2 0/3] target/riscv: use tcg_lookup_and_goto_ptr
@ 2018-08-10 17:39 Emilio G. Cota
2018-08-10 17:39 ` [Qemu-devel] [PATCH v2 1/3] target/riscv: optimize cross-page direct jumps in softmmu Emilio G. Cota
` (3 more replies)
0 siblings, 4 replies; 12+ messages in thread
From: Emilio G. Cota @ 2018-08-10 17:39 UTC (permalink / raw)
To: qemu-devel
Cc: Richard Henderson, Michael Clark, Palmer Dabbelt,
Sagar Karandikar, Bastian Koppelmann
Changes wrt v1: changed patch 3 as suggested by Richard. Also
added his R-b's.
You can fetch this series from:
https://github.com/cota/qemu/tree/riscv-lookup_ptr-v2
Thanks,
Emilio
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Qemu-devel] [PATCH v2 1/3] target/riscv: optimize cross-page direct jumps in softmmu
2018-08-10 17:39 [Qemu-devel] [PATCH v2 0/3] target/riscv: use tcg_lookup_and_goto_ptr Emilio G. Cota
@ 2018-08-10 17:39 ` Emilio G. Cota
2018-08-10 17:39 ` [Qemu-devel] [PATCH v2 2/3] target/riscv: optimize indirect branches Emilio G. Cota
` (2 subsequent siblings)
3 siblings, 0 replies; 12+ messages in thread
From: Emilio G. Cota @ 2018-08-10 17:39 UTC (permalink / raw)
To: qemu-devel
Cc: Richard Henderson, Michael Clark, Palmer Dabbelt,
Sagar Karandikar, Bastian Koppelmann
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Emilio G. Cota <cota@braap.org>
---
target/riscv/translate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/riscv/translate.c b/target/riscv/translate.c
index 0b6be74f2d..ec2988b4f6 100644
--- a/target/riscv/translate.c
+++ b/target/riscv/translate.c
@@ -135,7 +135,7 @@ static void gen_goto_tb(DisasContext *ctx, int n, target_ulong dest)
if (ctx->base.singlestep_enabled) {
gen_exception_debug();
} else {
- tcg_gen_exit_tb(NULL, 0);
+ tcg_gen_lookup_and_goto_ptr();
}
}
}
--
2.17.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Qemu-devel] [PATCH v2 2/3] target/riscv: optimize indirect branches
2018-08-10 17:39 [Qemu-devel] [PATCH v2 0/3] target/riscv: use tcg_lookup_and_goto_ptr Emilio G. Cota
2018-08-10 17:39 ` [Qemu-devel] [PATCH v2 1/3] target/riscv: optimize cross-page direct jumps in softmmu Emilio G. Cota
@ 2018-08-10 17:39 ` Emilio G. Cota
2018-08-10 17:39 ` [Qemu-devel] [PATCH v2 3/3] target/riscv: call gen_goto_tb on DISAS_TOO_MANY Emilio G. Cota
2018-08-31 22:22 ` [Qemu-devel] [PATCH v2 0/3] target/riscv: use tcg_lookup_and_goto_ptr Emilio G. Cota
3 siblings, 0 replies; 12+ messages in thread
From: Emilio G. Cota @ 2018-08-10 17:39 UTC (permalink / raw)
To: qemu-devel
Cc: Richard Henderson, Michael Clark, Palmer Dabbelt,
Sagar Karandikar, Bastian Koppelmann
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Emilio G. Cota <cota@braap.org>
---
target/riscv/translate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/riscv/translate.c b/target/riscv/translate.c
index ec2988b4f6..66a80ca772 100644
--- a/target/riscv/translate.c
+++ b/target/riscv/translate.c
@@ -548,7 +548,7 @@ static void gen_jalr(CPURISCVState *env, DisasContext *ctx, uint32_t opc,
if (rd != 0) {
tcg_gen_movi_tl(cpu_gpr[rd], ctx->pc_succ_insn);
}
- tcg_gen_exit_tb(NULL, 0);
+ tcg_gen_lookup_and_goto_ptr();
if (misaligned) {
gen_set_label(misaligned);
--
2.17.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Qemu-devel] [PATCH v2 3/3] target/riscv: call gen_goto_tb on DISAS_TOO_MANY
2018-08-10 17:39 [Qemu-devel] [PATCH v2 0/3] target/riscv: use tcg_lookup_and_goto_ptr Emilio G. Cota
2018-08-10 17:39 ` [Qemu-devel] [PATCH v2 1/3] target/riscv: optimize cross-page direct jumps in softmmu Emilio G. Cota
2018-08-10 17:39 ` [Qemu-devel] [PATCH v2 2/3] target/riscv: optimize indirect branches Emilio G. Cota
@ 2018-08-10 17:39 ` Emilio G. Cota
2018-08-10 19:52 ` Richard Henderson
2018-08-31 22:22 ` [Qemu-devel] [PATCH v2 0/3] target/riscv: use tcg_lookup_and_goto_ptr Emilio G. Cota
3 siblings, 1 reply; 12+ messages in thread
From: Emilio G. Cota @ 2018-08-10 17:39 UTC (permalink / raw)
To: qemu-devel
Cc: Richard Henderson, Michael Clark, Palmer Dabbelt,
Sagar Karandikar, Bastian Koppelmann
Performance impact of this and the previous commits, measured with
the very-easy-to-cross-compile rv8-bench:
https://github.com/rv8-io/rv8-bench
Host: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
- Key:
before: master
after1,2,3: the 3 commits in this series (i.e. 3 is this commit)
- User-mode:
bench before after1 after2 after3 final speedup
---------------------------------------------------------
aes 1.12s 1.12s 1.10s 1.00s 1.12
bigint 0.78s 0.78s 0.78s 0.78s 1
dhrystone 0.96s 0.97s 0.49s 0.49s 1.9591837
miniz 1.94s 1.94s 1.88s 1.86s 1.0430108
norx 0.51s 0.51s 0.49s 0.48s 1.0625
primes 0.85s 0.85s 0.84s 0.84s 1.0119048
qsort 4.87s 4.88s 1.86s 1.86s 2.6182796
sha512 0.76s 0.77s 0.64s 0.64s 1.1875
(after1 only applies to softmmu, so no surprises here)
- Full-system (fedora):
bench before after1 after2 after3 final speedup
---------------------------------------------------------
aes 2.68s 2.54s 2.60s 2.34s 1.1452991
bigint 1.61s 1.56s 1.55s 1.64s 0.98170732
dhrystone 1.78s 1.67s 1.25s 1.24s 1.4354839
miniz 3.53s 3.35s 3.28s 3.35s 1.0537313
norx 1.13s 1.09s 1.07s 1.06s 1.0660377
primes 15.37s 15.41s 15.20s 15.37s 1
qsort 7.20s 6.71s 3.85s 3.96s 1.8181818
sha512 1.07s 1.04s 0.90s 0.90s 1.1888889
SoftMMU slows things down, so the numbers are less sensitive.
Cross-page jumps improve things a little bit, though.
Note that I'm not showing here averages, just results from a
single run, so with primes there isn't much to worry about.
Signed-off-by: Emilio G. Cota <cota@braap.org>
---
target/riscv/translate.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/target/riscv/translate.c b/target/riscv/translate.c
index 66a80ca772..18d7b6d147 100644
--- a/target/riscv/translate.c
+++ b/target/riscv/translate.c
@@ -1868,12 +1868,7 @@ static void riscv_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu)
switch (ctx->base.is_jmp) {
case DISAS_TOO_MANY:
- tcg_gen_movi_tl(cpu_pc, ctx->base.pc_next);
- if (ctx->base.singlestep_enabled) {
- gen_exception_debug();
- } else {
- tcg_gen_exit_tb(NULL, 0);
- }
+ gen_goto_tb(ctx, 0, ctx->base.pc_next);
break;
case DISAS_NORETURN:
break;
--
2.17.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH v2 3/3] target/riscv: call gen_goto_tb on DISAS_TOO_MANY
2018-08-10 17:39 ` [Qemu-devel] [PATCH v2 3/3] target/riscv: call gen_goto_tb on DISAS_TOO_MANY Emilio G. Cota
@ 2018-08-10 19:52 ` Richard Henderson
0 siblings, 0 replies; 12+ messages in thread
From: Richard Henderson @ 2018-08-10 19:52 UTC (permalink / raw)
To: Emilio G. Cota, qemu-devel
Cc: Michael Clark, Palmer Dabbelt, Sagar Karandikar, Bastian Koppelmann
On 08/10/2018 10:39 AM, Emilio G. Cota wrote:
> Signed-off-by: Emilio G. Cota <cota@braap.org>
> ---
> target/riscv/translate.c | 7 +------
> 1 file changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/target/riscv/translate.c b/target/riscv/translate.c
> index 66a80ca772..18d7b6d147 100644
> --- a/target/riscv/translate.c
> +++ b/target/riscv/translate.c
> @@ -1868,12 +1868,7 @@ static void riscv_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu)
>
> switch (ctx->base.is_jmp) {
> case DISAS_TOO_MANY:
> - tcg_gen_movi_tl(cpu_pc, ctx->base.pc_next);
> - if (ctx->base.singlestep_enabled) {
> - gen_exception_debug();
> - } else {
> - tcg_gen_exit_tb(NULL, 0);
> - }
> + gen_goto_tb(ctx, 0, ctx->base.pc_next);
> break;
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/3] target/riscv: use tcg_lookup_and_goto_ptr
2018-08-10 17:39 [Qemu-devel] [PATCH v2 0/3] target/riscv: use tcg_lookup_and_goto_ptr Emilio G. Cota
` (2 preceding siblings ...)
2018-08-10 17:39 ` [Qemu-devel] [PATCH v2 3/3] target/riscv: call gen_goto_tb on DISAS_TOO_MANY Emilio G. Cota
@ 2018-08-31 22:22 ` Emilio G. Cota
2018-09-04 20:18 ` Alistair Francis
2018-09-06 9:45 ` Palmer Dabbelt
3 siblings, 2 replies; 12+ messages in thread
From: Emilio G. Cota @ 2018-08-31 22:22 UTC (permalink / raw)
To: qemu-devel
Cc: Richard Henderson, Michael Clark, Palmer Dabbelt,
Sagar Karandikar, Bastian Koppelmann, Alistair Francis
On Fri, Aug 10, 2018 at 13:39:38 -0400, Emilio G. Cota wrote:
> Changes wrt v1: changed patch 3 as suggested by Richard. Also
> added his R-b's.
>
> You can fetch this series from:
> https://github.com/cota/qemu/tree/riscv-lookup_ptr-v2
RISC-V maintainers: any plans of picking this up for 3.1?
(Cc'ing Alistair since he recently submitted some riscv-related
pull requests; BTW Alistair, should you be listed as a RISC-V
maintainer?)
Thanks,
Emilio
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/3] target/riscv: use tcg_lookup_and_goto_ptr
2018-08-31 22:22 ` [Qemu-devel] [PATCH v2 0/3] target/riscv: use tcg_lookup_and_goto_ptr Emilio G. Cota
@ 2018-09-04 20:18 ` Alistair Francis
2018-09-04 23:39 ` Emilio G. Cota
2018-09-06 9:45 ` Palmer Dabbelt
1 sibling, 1 reply; 12+ messages in thread
From: Alistair Francis @ 2018-09-04 20:18 UTC (permalink / raw)
To: Emilio G. Cota
Cc: qemu-devel@nongnu.org Developers, Sagar Karandikar,
Bastian Koppelmann, Palmer Dabbelt, Richard Henderson,
Michael Clark, Alistair Francis
On Fri, Aug 31, 2018 at 3:22 PM, Emilio G. Cota <cota@braap.org> wrote:
> On Fri, Aug 10, 2018 at 13:39:38 -0400, Emilio G. Cota wrote:
>> Changes wrt v1: changed patch 3 as suggested by Richard. Also
>> added his R-b's.
>>
>> You can fetch this series from:
>> https://github.com/cota/qemu/tree/riscv-lookup_ptr-v2
>
> RISC-V maintainers: any plans of picking this up for 3.1?
Thanks for CCing me.
I think Michael must be really busy, I haven't seen any activity for
awhile. I'm going to send a PR with everything that has been reviewed
and applies cleanly.
Alistair
>
> (Cc'ing Alistair since he recently submitted some riscv-related
> pull requests; BTW Alistair, should you be listed as a RISC-V
> maintainer?)
>
> Thanks,
>
> Emilio
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/3] target/riscv: use tcg_lookup_and_goto_ptr
2018-09-04 20:18 ` Alistair Francis
@ 2018-09-04 23:39 ` Emilio G. Cota
2018-09-04 23:42 ` Alistair Francis
0 siblings, 1 reply; 12+ messages in thread
From: Emilio G. Cota @ 2018-09-04 23:39 UTC (permalink / raw)
To: Alistair Francis
Cc: qemu-devel@nongnu.org Developers, Sagar Karandikar,
Bastian Koppelmann, Palmer Dabbelt, Richard Henderson,
Michael Clark, Alistair Francis
On Tue, Sep 04, 2018 at 13:18:28 -0700, Alistair Francis wrote:
> On Fri, Aug 31, 2018 at 3:22 PM, Emilio G. Cota <cota@braap.org> wrote:
> > On Fri, Aug 10, 2018 at 13:39:38 -0400, Emilio G. Cota wrote:
> >> Changes wrt v1: changed patch 3 as suggested by Richard. Also
> >> added his R-b's.
> >>
> >> You can fetch this series from:
> >> https://github.com/cota/qemu/tree/riscv-lookup_ptr-v2
> >
> > RISC-V maintainers: any plans of picking this up for 3.1?
>
> Thanks for CCing me.
>
> I think Michael must be really busy, I haven't seen any activity for
> awhile. I'm going to send a PR with everything that has been reviewed
> and applies cleanly.
Thanks!
Did patch 1 not apply cleanly? I see it's not part of the pullreq
you just sent.
I'd like the three patches to go in in the original order, since
the perf numbers in patch 3's commit log are laid out assuming
that is the case.
Cheers,
Emilio
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/3] target/riscv: use tcg_lookup_and_goto_ptr
2018-09-04 23:39 ` Emilio G. Cota
@ 2018-09-04 23:42 ` Alistair Francis
2018-09-05 1:07 ` Emilio G. Cota
0 siblings, 1 reply; 12+ messages in thread
From: Alistair Francis @ 2018-09-04 23:42 UTC (permalink / raw)
To: Emilio G. Cota
Cc: qemu-devel@nongnu.org Developers, Sagar Karandikar,
Bastian Koppelmann, Palmer Dabbelt, Richard Henderson,
Michael Clark, Alistair Francis
On Tue, Sep 4, 2018 at 4:39 PM, Emilio G. Cota <cota@braap.org> wrote:
> On Tue, Sep 04, 2018 at 13:18:28 -0700, Alistair Francis wrote:
>> On Fri, Aug 31, 2018 at 3:22 PM, Emilio G. Cota <cota@braap.org> wrote:
>> > On Fri, Aug 10, 2018 at 13:39:38 -0400, Emilio G. Cota wrote:
>> >> Changes wrt v1: changed patch 3 as suggested by Richard. Also
>> >> added his R-b's.
>> >>
>> >> You can fetch this series from:
>> >> https://github.com/cota/qemu/tree/riscv-lookup_ptr-v2
>> >
>> > RISC-V maintainers: any plans of picking this up for 3.1?
>>
>> Thanks for CCing me.
>>
>> I think Michael must be really busy, I haven't seen any activity for
>> awhile. I'm going to send a PR with everything that has been reviewed
>> and applies cleanly.
>
> Thanks!
>
> Did patch 1 not apply cleanly? I see it's not part of the pullreq
> you just sent.
>
> I'd like the three patches to go in in the original order, since
> the perf numbers in patch 3's commit log are laid out assuming
> that is the case.
The content of patch 1 was applied in this commit:
commit 07ea28b41830f946de3841b0ac61a3413679feb9
Author: Richard Henderson <richard.henderson@linaro.org>
Date: Wed May 30 18:06:23 2018 -0700
tcg: Pass tb and index to tcg_gen_exit_tb separately
Do the cast to uintptr_t within the helper, so that the compiler
can type check the pointer argument. We can also do some more
sanity checking of the index argument.
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
https://github.com/qemu/qemu/commit/07ea28b41830f946de3841b0ac61a3413679feb9
so unfortunately the patch no longer applies.
Alistair
>
> Cheers,
>
> Emilio
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/3] target/riscv: use tcg_lookup_and_goto_ptr
2018-09-04 23:42 ` Alistair Francis
@ 2018-09-05 1:07 ` Emilio G. Cota
2018-09-05 17:01 ` Alistair Francis
0 siblings, 1 reply; 12+ messages in thread
From: Emilio G. Cota @ 2018-09-05 1:07 UTC (permalink / raw)
To: Alistair Francis
Cc: qemu-devel@nongnu.org Developers, Sagar Karandikar,
Bastian Koppelmann, Palmer Dabbelt, Richard Henderson,
Michael Clark, Alistair Francis
On Tue, Sep 04, 2018 at 16:42:32 -0700, Alistair Francis wrote:
> On Tue, Sep 4, 2018 at 4:39 PM, Emilio G. Cota <cota@braap.org> wrote:
> > On Tue, Sep 04, 2018 at 13:18:28 -0700, Alistair Francis wrote:
> >> On Fri, Aug 31, 2018 at 3:22 PM, Emilio G. Cota <cota@braap.org> wrote:
> >> > On Fri, Aug 10, 2018 at 13:39:38 -0400, Emilio G. Cota wrote:
> >> >> Changes wrt v1: changed patch 3 as suggested by Richard. Also
> >> >> added his R-b's.
> >> >>
> >> >> You can fetch this series from:
> >> >> https://github.com/cota/qemu/tree/riscv-lookup_ptr-v2
> >> >
> >> > RISC-V maintainers: any plans of picking this up for 3.1?
> >>
> >> Thanks for CCing me.
> >>
> >> I think Michael must be really busy, I haven't seen any activity for
> >> awhile. I'm going to send a PR with everything that has been reviewed
> >> and applies cleanly.
> >
> > Thanks!
> >
> > Did patch 1 not apply cleanly? I see it's not part of the pullreq
> > you just sent.
> >
> > I'd like the three patches to go in in the original order, since
> > the perf numbers in patch 3's commit log are laid out assuming
> > that is the case.
>
> The content of patch 1 was applied in this commit:
>
> commit 07ea28b41830f946de3841b0ac61a3413679feb9
> Author: Richard Henderson <richard.henderson@linaro.org>
> Date: Wed May 30 18:06:23 2018 -0700
>
> tcg: Pass tb and index to tcg_gen_exit_tb separately
>
> Do the cast to uintptr_t within the helper, so that the compiler
> can type check the pointer argument. We can also do some more
> sanity checking of the index argument.
>
> Reviewed-by: Laurent Vivier <laurent@vivier.eu>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
>
> https://github.com/qemu/qemu/commit/07ea28b41830f946de3841b0ac61a3413679feb9
>
> so unfortunately the patch no longer applies.
If I rebase the 3 patches on top of the current master (19b599f7),
the 3 patches apply cleanly, including patch 1:
--- a/target/riscv/translate.c
+++ b/target/riscv/translate.c
@@ -135,7 +135,7 @@ static void gen_goto_tb(DisasContext *ctx, int n, targ
if (ctx->base.singlestep_enabled) {
gen_exception_debug();
} else {
- tcg_gen_exit_tb(NULL, 0);
+ tcg_gen_lookup_and_goto_ptr();
}
}
}
Did you apply the patches manually or pull from a branch?
The latest branch I have on this is:
https://github.com/cota/qemu/tree/riscv-lookup_ptr-v2
(although note that that branch doesn't have Richard's
R-b tag for patch 3)
Thanks,
Emilio
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/3] target/riscv: use tcg_lookup_and_goto_ptr
2018-09-05 1:07 ` Emilio G. Cota
@ 2018-09-05 17:01 ` Alistair Francis
0 siblings, 0 replies; 12+ messages in thread
From: Alistair Francis @ 2018-09-05 17:01 UTC (permalink / raw)
To: Emilio G. Cota
Cc: qemu-devel@nongnu.org Developers, Sagar Karandikar,
Bastian Koppelmann, Palmer Dabbelt, Richard Henderson,
Michael Clark, Alistair Francis
On Tue, Sep 4, 2018 at 6:07 PM, Emilio G. Cota <cota@braap.org> wrote:
> On Tue, Sep 04, 2018 at 16:42:32 -0700, Alistair Francis wrote:
>> On Tue, Sep 4, 2018 at 4:39 PM, Emilio G. Cota <cota@braap.org> wrote:
>> > On Tue, Sep 04, 2018 at 13:18:28 -0700, Alistair Francis wrote:
>> >> On Fri, Aug 31, 2018 at 3:22 PM, Emilio G. Cota <cota@braap.org> wrote:
>> >> > On Fri, Aug 10, 2018 at 13:39:38 -0400, Emilio G. Cota wrote:
>> >> >> Changes wrt v1: changed patch 3 as suggested by Richard. Also
>> >> >> added his R-b's.
>> >> >>
>> >> >> You can fetch this series from:
>> >> >> https://github.com/cota/qemu/tree/riscv-lookup_ptr-v2
>> >> >
>> >> > RISC-V maintainers: any plans of picking this up for 3.1?
>> >>
>> >> Thanks for CCing me.
>> >>
>> >> I think Michael must be really busy, I haven't seen any activity for
>> >> awhile. I'm going to send a PR with everything that has been reviewed
>> >> and applies cleanly.
>> >
>> > Thanks!
>> >
>> > Did patch 1 not apply cleanly? I see it's not part of the pullreq
>> > you just sent.
>> >
>> > I'd like the three patches to go in in the original order, since
>> > the perf numbers in patch 3's commit log are laid out assuming
>> > that is the case.
>>
>> The content of patch 1 was applied in this commit:
>>
>> commit 07ea28b41830f946de3841b0ac61a3413679feb9
>> Author: Richard Henderson <richard.henderson@linaro.org>
>> Date: Wed May 30 18:06:23 2018 -0700
>>
>> tcg: Pass tb and index to tcg_gen_exit_tb separately
>>
>> Do the cast to uintptr_t within the helper, so that the compiler
>> can type check the pointer argument. We can also do some more
>> sanity checking of the index argument.
>>
>> Reviewed-by: Laurent Vivier <laurent@vivier.eu>
>> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
>>
>> https://github.com/qemu/qemu/commit/07ea28b41830f946de3841b0ac61a3413679feb9
>>
>> so unfortunately the patch no longer applies.
>
> If I rebase the 3 patches on top of the current master (19b599f7),
> the 3 patches apply cleanly, including patch 1:
>
> --- a/target/riscv/translate.c
> +++ b/target/riscv/translate.c
> @@ -135,7 +135,7 @@ static void gen_goto_tb(DisasContext *ctx, int n, targ
> if (ctx->base.singlestep_enabled) {
> gen_exception_debug();
> } else {
> - tcg_gen_exit_tb(NULL, 0);
> + tcg_gen_lookup_and_goto_ptr();
> }
> }
> }
>
> Did you apply the patches manually or pull from a branch?
> The latest branch I have on this is:
> https://github.com/cota/qemu/tree/riscv-lookup_ptr-v2
> (although note that that branch doesn't have Richard's
> R-b tag for patch 3)
I thought I cherry picked them directly from your branch and I saw
conflicts. It seems to be working now, maybe I cherry picked the wrong
patch. I'll update the PR.
Thanks for double checking for me.
Alistair
>
> Thanks,
>
> Emilio
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/3] target/riscv: use tcg_lookup_and_goto_ptr
2018-08-31 22:22 ` [Qemu-devel] [PATCH v2 0/3] target/riscv: use tcg_lookup_and_goto_ptr Emilio G. Cota
2018-09-04 20:18 ` Alistair Francis
@ 2018-09-06 9:45 ` Palmer Dabbelt
1 sibling, 0 replies; 12+ messages in thread
From: Palmer Dabbelt @ 2018-09-06 9:45 UTC (permalink / raw)
To: cota
Cc: qemu-devel, richard.henderson, Michael Clark, sagark, kbastian,
alistair.francis
On Fri, 31 Aug 2018 15:22:49 PDT (-0700), cota@braap.org wrote:
> On Fri, Aug 10, 2018 at 13:39:38 -0400, Emilio G. Cota wrote:
>> Changes wrt v1: changed patch 3 as suggested by Richard. Also
>> added his R-b's.
>>
>> You can fetch this series from:
>> https://github.com/cota/qemu/tree/riscv-lookup_ptr-v2
>
> RISC-V maintainers: any plans of picking this up for 3.1?
Michael has a better handle on the QEMU patch queue than I do, but I'm starting
to free up some time to actually work on this stuff. He'll be in town next
week so we'll try to figure out our story for QEMU 3.1.
Sorry for being a bit out of it, we've been super busy with some internal
projects.
> (Cc'ing Alistair since he recently submitted some riscv-related
> pull requests; BTW Alistair, should you be listed as a RISC-V
> maintainer?)
I'm not opposed to Alistair being a maintainer, I'll talk it over with the
other guys. It'd be great to have someone active and not at SiFive on QEMU, as
when we get busy we tend to all get busy :).
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2018-09-06 9:45 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-10 17:39 [Qemu-devel] [PATCH v2 0/3] target/riscv: use tcg_lookup_and_goto_ptr Emilio G. Cota
2018-08-10 17:39 ` [Qemu-devel] [PATCH v2 1/3] target/riscv: optimize cross-page direct jumps in softmmu Emilio G. Cota
2018-08-10 17:39 ` [Qemu-devel] [PATCH v2 2/3] target/riscv: optimize indirect branches Emilio G. Cota
2018-08-10 17:39 ` [Qemu-devel] [PATCH v2 3/3] target/riscv: call gen_goto_tb on DISAS_TOO_MANY Emilio G. Cota
2018-08-10 19:52 ` Richard Henderson
2018-08-31 22:22 ` [Qemu-devel] [PATCH v2 0/3] target/riscv: use tcg_lookup_and_goto_ptr Emilio G. Cota
2018-09-04 20:18 ` Alistair Francis
2018-09-04 23:39 ` Emilio G. Cota
2018-09-04 23:42 ` Alistair Francis
2018-09-05 1:07 ` Emilio G. Cota
2018-09-05 17:01 ` Alistair Francis
2018-09-06 9:45 ` Palmer Dabbelt
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.