Re: [PATCH v2 0/3] tcg: Defer tb_flush when initial thread region alloc fails

Yogesh Vyas <[email protected]>
Newsgroups org.nongnu.qemu-devel
Message-ID <CAJOT6qOr+YL=Z_uVzPNtz5=8+gjLhg0dQ=99pwADZb5XEgKGag@mail.gmail.com>
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.

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
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.