qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v7 14/18] cpu: Call plugin hooks only when ready


From: Akihiko Odaki
Subject: Re: [PATCH v7 14/18] cpu: Call plugin hooks only when ready
Date: Wed, 13 Sep 2023 07:53:27 +0900
User-agent: Mozilla Thunderbird

On 2023/09/12 17:46, Philippe Mathieu-Daudé wrote:
Hi Akihiko,

On 12/9/23 09:12, Akihiko Odaki wrote:
The initialization and exit hooks will not affect the state of vCPU,

What about:

  qemu_plugin_vcpu_init_hook()
    -> plugin_cpu_update__locked()
       -> plugin_cpu_update__async()
          -> bitmap_copy(cpu->plugin_mask, ...)
             tcg_flush_jmp_cache(cpu)
             -> qatomic_set(&cpu->tb_jmp_cache->array[i].tb, ...)

?

Hi,

bitmap_copy(cpu->plugin_mask, ...) is contained in the plugin infrastructure and shouldn't matter.

The TCG is not started filling caches so tcg_flush_jmp_cache() is effectively nop though that is not clearly stated.

By the way, I found plugin_cpu_update__locked() will not synchronously call plugin_cpu_update__async() after this change because cpu->created will be always true for the system emulation. For user space emulation, it has already been broken and it *always* synchronously calls the function since cpu->created is not set.

I wrote a change to replace cpu->created with DEVICE(cpu)->realized and added to the base patch series ("[PATCH v3 03/12] plugins: Check if vCPU is realized" in "[PATCH v3 00/12] gdbstub and TCG plugin improvements").

Regards,
Akihiko Odaki



reply via email to

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