Hi Richard,

On Sun, Aug 16, 2026 at 10:38 PM Yogesh Vyas <[email protected]> wrote:

> Hi Richard,
> Thank you for improvising on the initial patch shared.
>
> On Thu, Aug 13, 2026 at 6:20 AM Richard Henderson <
> [email protected]> 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.
>>
> I tried testing these patches on my x86 host running qemu-system-ppc64 by
> initially hotpluging 400 vCPUs.
> While the response was relatively slower than the initial patch that I had
> shared, I also observed the VM is as slow as stuck when I retried
> hotplugging upto 1024.
> I will share more feedback if I have any.
>

I have shared one minor comment on patch 2/3, with that:

Reviewed-by: Yogesh Vyas <[email protected]>
Tested-by: Yogesh Vyas <[email protected]>


> Regards,
> Yogesh
>
>
>>
>> r~
>>
>>
>> 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(-)
>>
>> --
>> 2.43.0
>>
>>

Reply via email to