On Thu, 2010-07-01 at 14:52 +0200, Alexander Graf wrote: > Page ageing is difficult. The HTAB has a hardware set referenced bit, > but we don't have a guarantee that the entry is still there when we look > for it. Something else could have overwritten it by then, but the entry > could still be lingering around in the TLB. > > So I think the only reasonable way to implement page ageing is to unmap > pages. And that's slow, because it means we have to map them again on > access. Bleks. Or we could look for the HTAB entry and only unmap them > if the entry is moot. Well, not quite. We -could- use the HW reference bit. However, that means that whenever we flush the hash PTE we get a snapshot of the HW bit and copy it over to the PTE. That's not -that- bad for normal invalidations. However, it's a problem potentially for eviction. IE. When a hash bucket is full, we pseudo-randomly evict a slot. If we were to use the HW ref bit, we would need a way to go back to the PTE from the hash bucket to perform that update (or something really tricky like sticking it in a list somewhere, and have the young test walk that list when non-empty, etc...) Cheers, Ben. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html