[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 08/12] accel/tcg: Use cpu_loop_exit_requested() in cpu_loop_ex
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH v2 08/12] accel/tcg: Use cpu_loop_exit_requested() in cpu_loop_exec_tb() |
Date: |
Sun, 28 Apr 2024 23:49:11 +0200 |
Do not open-code cpu_loop_exit_requested().
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
accel/tcg/cpu-exec.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c
index 225e5fbd3e..c18a7e2b85 100644
--- a/accel/tcg/cpu-exec.c
+++ b/accel/tcg/cpu-exec.c
@@ -900,8 +900,6 @@ static inline void cpu_loop_exec_tb(CPUState *cpu,
TranslationBlock *tb,
vaddr pc, TranslationBlock **last_tb,
int *tb_exit)
{
- int32_t insns_left;
-
trace_exec_tb(tb, pc);
tb = cpu_tb_exec(cpu, tb, tb_exit);
if (*tb_exit != TB_EXIT_REQUESTED) {
@@ -910,8 +908,7 @@ static inline void cpu_loop_exec_tb(CPUState *cpu,
TranslationBlock *tb,
}
*last_tb = NULL;
- insns_left = qatomic_read(&cpu->neg.icount_decr.u32);
- if (insns_left < 0) {
+ if (cpu_loop_exit_requested(cpu)) {
/* Something asked us to stop executing chained TBs; just
* continue round the main loop. Whatever requested the exit
* will also have set something else (eg exit_request or
@@ -928,7 +925,7 @@ static inline void cpu_loop_exec_tb(CPUState *cpu,
TranslationBlock *tb,
/* Ensure global icount has gone forward */
icount_update(cpu);
/* Refill decrementer and continue execution. */
- insns_left = MIN(0xffff, cpu->icount_budget);
+ int32_t insns_left = MIN(0xffff, cpu->icount_budget);
cpu->neg.icount_decr.u16.low = insns_left;
cpu->icount_extra = cpu->icount_budget - insns_left;
--
2.41.0
- [PATCH v2 00/12] exec: Rework around CPUState user fields, Philippe Mathieu-Daudé, 2024/04/28
- [PATCH v2 01/12] plugins: Update stale comment, Philippe Mathieu-Daudé, 2024/04/28
- [PATCH v2 02/12] plugins/api: Only include 'exec/ram_addr.h' with system emulation, Philippe Mathieu-Daudé, 2024/04/28
- [PATCH v2 03/12] exec: Include missing license in 'exec/cpu-common.h', Philippe Mathieu-Daudé, 2024/04/28
- [PATCH v2 05/12] exec/cpu: Remove obsolete PAGE_RESERVED definition, Philippe Mathieu-Daudé, 2024/04/28
- [PATCH v2 06/12] exec/cpu: Remove duplicated PAGE_PASSTHROUGH definition, Philippe Mathieu-Daudé, 2024/04/28
- [PATCH v2 04/12] exec/cpu: Indent TARGET_PAGE_foo definitions, Philippe Mathieu-Daudé, 2024/04/28
- [PATCH v2 07/12] exec/cpu: Extract page-protection definitions to page-protection.h, Philippe Mathieu-Daudé, 2024/04/28
- [PATCH v2 08/12] accel/tcg: Use cpu_loop_exit_requested() in cpu_loop_exec_tb(),
Philippe Mathieu-Daudé <=
- [PATCH v2 10/12] accel/tcg: Remove pointless initialization of cflags_next_tb, Philippe Mathieu-Daudé, 2024/04/28
- [PATCH v2 09/12] accel/tcg: Restrict cpu_loop_exit_requested() to TCG, Philippe Mathieu-Daudé, 2024/04/28
- [PATCH v2 11/12] accel/tcg: Reset TCG specific fields in tcg_cpu_reset_hold(), Philippe Mathieu-Daudé, 2024/04/28
- [PATCH v2 12/12] accel/tcg: Access tcg_cflags with getter / setter, Philippe Mathieu-Daudé, 2024/04/28
- Re: [PATCH v2 00/12] exec: Rework around CPUState user fields, Philippe Mathieu-Daudé, 2024/04/29