On September 20, 2001 02:57 pm, Alan Cox wrote:> > On September 20, 2001 12:04 am, Alan Cox wrote:> > > Reverse mappings make linear aging easier to do but are not critical (we> > > can walk all physical pages via the page map array). > > > > But you can't pick up the referenced bit that way, so no up aging, only> > down.> > #1 If you really wanted to you could update a referenced bit in the page> struct in the fault handling path.

Right, we probably should do that. But consider that any time this happens a reverse map would have eliminated the fault because we wouldn't need to unmap the page until we're actually going to free it.

> #2 If a page is referenced multiple times by different processes is the> behaviour of multiple upward aging actually wrong.

With rmap it's easy to do it either way: either treat the ref bits as if they're all or'd together or, perhaps more sensibly, age up by an amount that depends on the number of ref bits set, but not as much as UP_AGE * refs.