|
| 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] |