On 8/13/26 03:50, Richard Henderson wrote:
Hi Yogesh,
The main problem with your patch is where you've placed the change:
tcg_region_initial_alloc__locked is also used by tcg_region_reset_all,
used by tb_flush. Along that path, we really can't have a failure.
The path on which we can defer allocation is via tcg_register_thread.
The second change I made is to use code_buf_ptr == NULL to signal
reallocation is required. In addition, tcg_tb_alloc doesn't need
to immediately fail: in the interim since thread creation, we may
well have performed a tb_flush already.
Please have a try vs your hotplug test case.
Hi!
Is this a qemu-stable material?
I'm not picking it up, but it feels I should :)
Thanks,
/mjt
Richard Henderson (3):
tcg: Return success from tcg_region_alloc__locked
tcg: Return success from tcg_region_alloc
tcg: Defer tb_flush when initial thread region alloc fails
tcg/tcg-internal.h | 2 +-
tcg/region.c | 40 ++++++++++++++++++++++++++++++----------
tcg/tcg.c | 24 +++++++++++++++---------
3 files changed, 46 insertions(+), 20 deletions(-)