mirror of
https://github.com/mborgerson/xemu.git
synced 2025-12-01 16:10:01 +00:00
tcg: Move tb_phys_invalidate_count to tb_ctx
We can call do_tb_phys_invalidate from an iocontext, which has no per-thread tcg_ctx. Move this to tb_ctx, which is global. The actual update still takes place with a lock held, so only an atomic set is required, not an atomic increment. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/457 Tested-by: Viktor Ashirov <vashirov@redhat.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
@ -579,8 +579,6 @@ struct TCGContext {
|
||||
/* Threshold to flush the translated code buffer. */
|
||||
void *code_gen_highwater;
|
||||
|
||||
size_t tb_phys_invalidate_count;
|
||||
|
||||
/* Track which vCPU triggers events */
|
||||
CPUState *cpu; /* *_trans */
|
||||
|
||||
@ -815,7 +813,6 @@ size_t tcg_code_capacity(void);
|
||||
|
||||
void tcg_tb_insert(TranslationBlock *tb);
|
||||
void tcg_tb_remove(TranslationBlock *tb);
|
||||
size_t tcg_tb_phys_invalidate_count(void);
|
||||
TranslationBlock *tcg_tb_lookup(uintptr_t tc_ptr);
|
||||
void tcg_tb_foreach(GTraverseFunc func, gpointer user_data);
|
||||
size_t tcg_nb_tbs(void);
|
||||
|
||||
Reference in New Issue
Block a user