|
From: | Richard Henderson |
Subject: | Re: [PATCH 1/2] accel/tcg: Optimize jump cache flush during tlb range flush |
Date: | Wed, 26 Jan 2022 08:55:18 +1100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 |
On 1/11/22 3:47 AM, Idan Horowitz wrote:
+ /* + * If the length is larger than the jump cache size, then it will take + * longer to clear each entry individually than it will to clear it all. + */ + if (d.len >= (TARGET_PAGE_SIZE * TB_JMP_CACHE_SIZE)) { + cpu_tb_jmp_cache_clear(cpu); + return; + } + for (target_ulong i = 0; i < d.len; i += TARGET_PAGE_SIZE) { tb_flush_jmp_cache(cpu, d.addr + i); }
Hmm. Valid. It looks like we could reasonably rewrite tb_flush_jmp_cache to be more efficient, by passing down len. But this is a decent intermediate step.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Queued to tcg-next. r~
[Prev in Thread] | Current Thread | [Next in Thread] |