On 5/19/20 11:38 AM, Alex Bennée wrote: > > Richard Henderson <richard.hender...@linaro.org> writes: > >> On 5/19/20 9:21 AM, Ahmed Karaman wrote: >>> The issue arose because the page crossings check in use_goto_tb() >>> function is required only in the system mode. Checking it in both modes >>> causes an unnecessary overhead in the user mode. >> >> It is not only required in system mode. >> >> You can see failures in user-mode if you modify executable pages, or change >> their permissions with mmap. Such as if the guest program contains a >> JIT. > > If we kept better track couldn't we just tb_flush() if a new +x region > gets mmaped? I guess that would be sub-optimal compared to having a > translation cache per mmap region. >
Yes, this could definitely be improved. Noticing changes to PROT_EXEC via mprotect, for one. r~