swapout アプローチの限界 (2) -- page count

参照カウンタでページ解放を管理 (マクロ page_count)
  • get_page
  • put_page
    if (! --page->count) release_page;
  • 使っている範囲を get_page ... put_page で囲む
  • 別の名前(…): page_cache_get, page_cache_release
例:
  • PTE に map するとき
  • read, write システムコール内
  • (write中は writeback フラグなので別)
 
© copyright 2003 VA Linux Systems Japan