qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] accel/tcg: nochain should disable goto_ptr


From: Richard Henderson
Subject: Re: [PATCH] accel/tcg: nochain should disable goto_ptr
Date: Sat, 1 Jun 2024 08:36:41 -0500
User-agent: Mozilla Thunderbird

On 6/1/24 00:57, niugen wrote:
on 2024/6/1 01:32, Richard Henderson wrote:
On 5/31/24 03:17, NiuGenen wrote:
Signed-off-by: NiuGenen <niugen@loongson.cn>
---
  accel/tcg/cpu-exec.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c
index 2972f75b96..084fa645c7 100644
--- a/accel/tcg/cpu-exec.c
+++ b/accel/tcg/cpu-exec.c
@@ -173,7 +173,7 @@ uint32_t curr_cflags(CPUState *cpu)
      } else if (qatomic_read(&one_insn_per_tb)) {
          cflags |= CF_NO_GOTO_TB | 1;
      } else if (qemu_loglevel_mask(CPU_LOG_TB_NOCHAIN)) {
-        cflags |= CF_NO_GOTO_TB;
+        cflags |= CF_NO_GOTO_TB | CF_NO_GOTO_PTR;
      }
        return cflags;

Why?

The original intent of nochain was so that -d exec would log all blocks, which requires excluding goto_tb.  There is exec logging in helper_lookup_goto_ptr, so there is no need to avoid goto_ptr.

You must provide a rationale, at minimum.


r~


Sorry, my mistake. I thought nochain will disable all kinds of branches, including direct branch and indirect branch, but I found that indirect branch still call helper_lookup_tb_ptr to continue executing TB instead of epilogue-tblookup-prologue.

Maybe the exec logging can be removed from helper_lookup_tb_ptr and nochain can disable all the chaining of TB?

Why?  You still haven't provided a rationale.


r~




reply via email to

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