qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH for-7.2 14/21] accel/tcg: Hoist get_page_addr_code out of tb_


From: Richard Henderson
Subject: Re: [PATCH for-7.2 14/21] accel/tcg: Hoist get_page_addr_code out of tb_lookup
Date: Wed, 17 Aug 2022 08:42:09 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0

On 8/17/22 06:08, Ilya Leoshkevich wrote:
+static void cpu_tb_jmp_cache_remove(TranslationBlock *tb)
+{
+    CPUState *cpu;
+    uint32_t h;
+
+    /* remove the TB from the hash list */
+    if (TARGET_TB_PCREL) {
+        /* Any TB may be at any virtual address */
+        CPU_FOREACH(cpu) {
+            cpu_tb_jmp_cache_clear(cpu);
+        }

This comment is not currently true for user-only. Although there's an outstanding bug report about our failure to manage virtual aliasing in user-only...

+            PAGE_FOR_EACH_TB(p, tb, n) {
+                cpu_tb_jmp_cache_remove(tb);
+            }

You wouldn't want to call cpu_tb_jmp_cache_clear() 99 times for the 99 tb's on 
the page.

For user-only, I think mprotect is rare enough that just clearing the whole cache once is sufficient.


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]