Hi Paolo, On Mon, Mar 27, 2017 at 7:32 AM, Paolo Bonzini <pbonz...@redhat.com> wrote: > > > On 25/03/2017 17:52, Pranith Kumar wrote: >> * Implement an LRU translation block code cache. >> >> In the current TCG design, when the translation cache fills up, we flush >> all >> the translated blocks (TBs) to free up space. We can improve this situation >> by not flushing the TBs that were recently used i.e., by implementing an >> LRU >> policy for freeing the blocks. This should avoid the re-translation >> overhead >> for frequently used blocks and improve performance. > > IIRC, Emilio measured one flush every roughly 10 seconds with 128 MB > cache in system emulation mode---and "never" is a pretty accurate > estimate for user-mode emulation. This means that a really hot block > would be retranslated very quickly. >
OK. The problem with re-translation is that it is a serializing step in the current design. All the cores have to wait for the translation to complete. I think it will be a win if we could avoid it, although, I should admit that I am not sure how much that benefit would be. -- Pranith