このページを編集する際は、編集に関する方針に従ってください。

概要

  • mm/rmap.cにて定義
  • ファイルマッピングに引数で渡されたページを加える

引数

  • page--ファイルマッピングに加えるページ

実装

/**

* page_add_file_rmap - add pte mapping to a file page
* @page: the page to add the mapping to
*
* The caller needs to hold the mm->page_table_lock.
*/

void page_add_file_rmap(struct page *page) {

	BUG_ON(PageAnon(page));
  • pageがファイルマッピングされていない場合はバグである
  • pageがユーザ仮想メモリにマッピングされている場合、1を返して終了
	if (!pfn_valid(page_to_pfn(page)) || PageReserved(page))
		return;
  • pageからページフレーム番号を計算し返す
  • 引数で渡されたページフレームが適切な値であるかチェックする
  • pageが予約されているか調べる
    • 予約されている場合1を返し、予約されていない場合は0を返す
    • 詳細はPageReserved()/linux2.6を参照
	if (atomic_inc_and_test(&page->_mapcount))
		inc_page_state(nr_mapped);

}

呼出元


履歴

  • 作者:ひら
  • 日付:2005/9/14
  • 対象:2.6.10
    更新日更新者更新内容

コメント



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-11-24 (火) 07:16:36 (2861d)