linux-5.15/extfrag_for_order()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#reeee3ab]
#backlinks
*説明 [#m883d450]
-パス: [[linux-5.15/mm/vmstat.c]]
-指定したオーダーの外部断片化スコアを取得します。
**引数 [#b8f62a78]
-struct zone *zone
--メモリゾーン。
--[[linux-5.15/zone]]
-unsigned int order
--オーダー。
**返り値 [#c6687887]
-unsigned int
--外部断片化スコア(0〜100)
**参考 [#m69dffa8]
*実装 [#a54b53fa]
/*
* Calculates external fragmentation within a zone wrt t...
* It is defined as the percentage of pages found in blo...
* less than 1 << order. It returns values in range [0, ...
*/
unsigned int extfrag_for_order(struct zone *zone, unsign...
{
struct contig_page_info info;
fill_contig_page_info(zone, order, &info);
if (info.free_pages == 0)
return 0;
return div_u64((info.free_pages -
(info.free_blocks_suitable << order)) * 100,
info.free_pages);
}
-スコア = (free_pages - (free_blocks_suitable << order)) ...
--平たく言うと、orderで指定したブロックより小さいブロック...
--例えば、指定されたorderより小さいブロックがない場合、fr...
--2割のページがorderより小さいブロックに含まれている場合...
-free_pages
--各orderの空ブロックに含まれるページ数の合計
--orderが考慮され、0なら等倍、order 1なら2倍、order 2なら...
-free_blocks_suitable
--引数に指定したorder換算の空ブロック数
--orderが考慮され、例えばorder = 9指定ならばorder 10のブ...
--[[linux-5.15/fill_contig_page_info()]]
*コメント [#vc9e7a18]
終了行:
*参照元 [#reeee3ab]
#backlinks
*説明 [#m883d450]
-パス: [[linux-5.15/mm/vmstat.c]]
-指定したオーダーの外部断片化スコアを取得します。
**引数 [#b8f62a78]
-struct zone *zone
--メモリゾーン。
--[[linux-5.15/zone]]
-unsigned int order
--オーダー。
**返り値 [#c6687887]
-unsigned int
--外部断片化スコア(0〜100)
**参考 [#m69dffa8]
*実装 [#a54b53fa]
/*
* Calculates external fragmentation within a zone wrt t...
* It is defined as the percentage of pages found in blo...
* less than 1 << order. It returns values in range [0, ...
*/
unsigned int extfrag_for_order(struct zone *zone, unsign...
{
struct contig_page_info info;
fill_contig_page_info(zone, order, &info);
if (info.free_pages == 0)
return 0;
return div_u64((info.free_pages -
(info.free_blocks_suitable << order)) * 100,
info.free_pages);
}
-スコア = (free_pages - (free_blocks_suitable << order)) ...
--平たく言うと、orderで指定したブロックより小さいブロック...
--例えば、指定されたorderより小さいブロックがない場合、fr...
--2割のページがorderより小さいブロックに含まれている場合...
-free_pages
--各orderの空ブロックに含まれるページ数の合計
--orderが考慮され、0なら等倍、order 1なら2倍、order 2なら...
-free_blocks_suitable
--引数に指定したorder換算の空ブロック数
--orderが考慮され、例えばorder = 9指定ならばorder 10のブ...
--[[linux-5.15/fill_contig_page_info()]]
*コメント [#vc9e7a18]
ページ名: