|
From: Nicholas N. <nj...@ca...> - 2002-11-21 10:03:28
|
On 20 Nov 2002, Jeremy Fitzhardinge wrote: > > A questions: What's the deal on the LRU mechanism when > > chaining is going, now? > > I did notice the problem and made a small attempt to address it: > patch_me updates the epoch field in the same way as the dispatch loop. > It doesn't actually help much, but it looks like I paid attention to it. > > I was thinking of a scheme like an OS VM scheme: have a loop go through > the TTEs at some low rate and unchaining blocks; if on the 2nd pass the > block is still unchained and still hasn't updated the LRU entry, then > consider it old. It might be worth re-mentioning the approach used by Dynamo, Walkabout, Strata and seemingly all the other dynamic translators for handling this situation -- they just flush the code cache. But they have smaller translations and smaller code caches, and spend less time on translations. And I think Julian's LRU mechanism is extremely fast. So maybe just ignore this. N |