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

概要

  • mm/mempolicy.cにて定義
  • メモリポリシーがインタリーブであり、ノードインタリーブ(複数のノードからメモリを取得する)するノードのノード識別子を取得する

引数

実装

/* Do static interleaving for a VMA with known offset. */

static unsigned offset_il_node(struct mempolicy *pol,

		struct vm_area_struct *vma, unsigned long off)

{

	unsigned nnodes = bitmap_weight(pol->v.nodes, MAX_NUMNODES);
	unsigned target = (unsigned)off % nnodes;
	int c;
	int nid = -1;
	c = 0;
	do {
		nid = find_next_bit(pol->v.nodes, MAX_NUMNODES, nid+1);
  • 検索対象アドレスpol->v.nodesと検索範囲MAX_NUMNODES、検索を開始するオフセットnid+1を与えられ、検索対象アドレスのオフセットからセットビットの検索を開始し、見つかった場合はビット位置を返す
		c++;
	} while (c <= target);
	BUG_ON(nid >= MAX_NUMNODES);
	BUG_ON(!test_bit(nid, pol->v.nodes));
  • pol->v.nodesのnidビットがセットされているとき1を返す。クリアされている時は0を返す
	return nid;

}

呼出元


履歴

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

コメント

  • 1 -- 1? 2015-10-07 (水) 05:06:36
  • 1 -- 1? 2015-10-07 (水) 05:06:54
  • 1 -- 1? 2015-10-07 (水) 05:06:58
  • 1 -- -1'? 2015-10-07 (水) 05:07:00
    • 1' -- 1? 2015-10-07 (水) 05:07:01
  • 1 -- 1? 2015-10-07 (水) 05:07:03

  • 1 -- 1? 2015-10-07 (水) 05:06:56

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-10-07 (水) 05:07:03 (598d)