LinuxMM:

This is an almost complete design to approximate CLOCK-Pro replacement in a zoned VM with a big hash table instead of a non-resident list. Step 2 probably needs some work to filter out correlated references...

  1. new pages get added to the inactive (cold) list
  2. if they are referenced they go to the active (hot) list
  3. if an active page was referenced, it goes to the head of the list
  4. if an active page wasn't referenced, it goes to the head of the inactive list
  5. if an inactive page wasn't referenced, we remember we recently evicted this page
  6. if we recycled an empty slot in the non-resident table, we do nothing
  7. if we recycled an occupied slot in the non-resident table, we reduce the number of inactive pages we keep around
  8. if, on page fault time, we fault in a page that was on the non-resident table (ie. recently evicted), we add it to the active list immediately and increase the number of inactive pages we keep around

Back to AdvancedPageReplacement

LinuxMM: ClockProApproximation (last edited 2005-04-22 22:15:53 by fangorn)