[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] tcg: Reduce max TB opcode count
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH] tcg: Reduce max TB opcode count |
Date: |
Fri, 15 Jun 2018 08:24:33 -1000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 |
On 06/15/2018 03:58 AM, Philippe Mathieu-Daudé wrote:
> On 06/15/2018 03:25 AM, Richard Henderson wrote:
>> Also, assert that we don't overflow any of two different offsets into
>> the TB. Both unwind and goto_tb both record a uint16_t for later use.
>>
>> Signed-off-by: Richard Henderson <address@hidden>
>> ---
>>
>> This fixes an arm-softmmu test case forwarded to me by Michael Tsirkin.
>>
>> There is a TB generated from that test case that runs to 7800 opcodes,
>> and compiles to 96k on an x64 host. This overflows the 16-bit offset
>> in which we record the goto_tb reset offset. Because of that overflow,
>> we install a jump destination that goes to neverland. Boom.
>>
>> With this reduced op count, the same TB compiles to about 48k for
>> both x64 and ppc64le hosts, and neither assertion fires.
>
> Why not keep that comment in the git history, to follow the 8k -> 4k change?
>
> Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Will do, thanks.
r~