summary refs log tree commit diff stats
path: root/plugins/core.c
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2025-09-06 06:46:03 +0200
committerRichard Henderson <richard.henderson@linaro.org>2025-09-24 10:29:43 -0700
commit7330741b3e4bc4b1b32e85b9c1372f44c896c4da (patch)
treec9cc0aa9206118f0d9484ea8541468c945f6cf46 /plugins/core.c
parent84142184899322c2dca931e36abca7a35a2827cd (diff)
downloadfocaccia-qemu-7330741b3e4bc4b1b32e85b9c1372f44c896c4da.tar.gz
focaccia-qemu-7330741b3e4bc4b1b32e85b9c1372f44c896c4da.zip
plugins: Use tb_flush__exclusive_or_serial
In all cases, we are already within start_exclusive.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'plugins/core.c')
-rw-r--r--plugins/core.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/plugins/core.c b/plugins/core.c
index c6e9ef1478..ead09fd2f1 100644
--- a/plugins/core.c
+++ b/plugins/core.c
@@ -248,7 +248,7 @@ static void plugin_grow_scoreboards__locked(CPUState *cpu)
         }
         plugin.scoreboard_alloc_size = scoreboard_size;
         /* force all tb to be flushed, as scoreboard pointers were changed. */
-        tb_flush(cpu);
+        tb_flush__exclusive_or_serial();
     }
     end_exclusive();
 }
@@ -684,8 +684,6 @@ void qemu_plugin_user_exit(void)
      * with the one in fork_start(). That is:
      * - start_exclusive(), which acquires qemu_cpu_list_lock,
      *   must be called before acquiring plugin.lock.
-     * - tb_flush(), which acquires mmap_lock(), must be called
-     *   while plugin.lock is not held.
      */
     start_exclusive();
 
@@ -705,7 +703,7 @@ void qemu_plugin_user_exit(void)
     }
     qemu_rec_mutex_unlock(&plugin.lock);
 
-    tb_flush(current_cpu);
+    tb_flush__exclusive_or_serial();
     end_exclusive();
 
     /* now it's safe to handle the exit case */