linux-5.15/__reset_isolation_suitable()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#dcca0554]
#backlinks
*説明 [#z4fc90ca]
-パス: [[linux-5.15/mm/compaction.c]]
-FIXME: これは何?
--説明
**引数 [#u652ec3c]
-struct zone *zone
--
--[[linux-5.15/zone]]
**返り値 [#j28a5cf0]
-なし
**参考 [#b33e81fd]
*実装 [#weaffc7a]
/*
* This function is called to clear all cached informati...
* should be skipped for page isolation when the migrate...
* meet.
*/
static void __reset_isolation_suitable(struct zone *zone)
{
unsigned long migrate_pfn = zone->zone_start_pfn;
unsigned long free_pfn = zone_end_pfn(zone) - 1;
unsigned long reset_migrate = free_pfn;
unsigned long reset_free = migrate_pfn;
bool source_set = false;
bool free_set = false;
if (!zone->compact_blockskip_flush)
return;
zone->compact_blockskip_flush = false;
-
--[[linux-5.15/zone_end_pfn()]]
/*
* Walk the zone and update pageblock skip information....
* for PageLRU while target looks for PageBuddy. When t...
* is found, both PageBuddy and PageLRU are checked as ...
* is suitable as both source and target.
*/
for (; migrate_pfn < free_pfn; migrate_pfn += pageblock...
free_pfn -= pageblock_nr_pages) {
cond_resched();
-
--[[linux-5.15/cond_resched()]]
/* Update the migrate PFN */
if (__reset_isolation_pfn(zone, migrate_pfn, true, sou...
migrate_pfn < reset_migrate) {
source_set = true;
reset_migrate = migrate_pfn;
zone->compact_init_migrate_pfn = reset_migrate;
zone->compact_cached_migrate_pfn[0] = reset_migrate;
zone->compact_cached_migrate_pfn[1] = reset_migrate;
}
-
--[[linux-5.15/__reset_isolation_pfn()]]
/* Update the free PFN */
if (__reset_isolation_pfn(zone, free_pfn, free_set, tr...
free_pfn > reset_free) {
free_set = true;
reset_free = free_pfn;
zone->compact_init_free_pfn = reset_free;
zone->compact_cached_free_pfn = reset_free;
}
-
--[[linux-5.15/__reset_isolation_pfn()]]
}
/* Leave no distance if no suitable block was reset */
if (reset_migrate >= reset_free) {
zone->compact_cached_migrate_pfn[0] = migrate_pfn;
zone->compact_cached_migrate_pfn[1] = migrate_pfn;
zone->compact_cached_free_pfn = free_pfn;
}
}
*コメント [#yea6d019]
終了行:
*参照元 [#dcca0554]
#backlinks
*説明 [#z4fc90ca]
-パス: [[linux-5.15/mm/compaction.c]]
-FIXME: これは何?
--説明
**引数 [#u652ec3c]
-struct zone *zone
--
--[[linux-5.15/zone]]
**返り値 [#j28a5cf0]
-なし
**参考 [#b33e81fd]
*実装 [#weaffc7a]
/*
* This function is called to clear all cached informati...
* should be skipped for page isolation when the migrate...
* meet.
*/
static void __reset_isolation_suitable(struct zone *zone)
{
unsigned long migrate_pfn = zone->zone_start_pfn;
unsigned long free_pfn = zone_end_pfn(zone) - 1;
unsigned long reset_migrate = free_pfn;
unsigned long reset_free = migrate_pfn;
bool source_set = false;
bool free_set = false;
if (!zone->compact_blockskip_flush)
return;
zone->compact_blockskip_flush = false;
-
--[[linux-5.15/zone_end_pfn()]]
/*
* Walk the zone and update pageblock skip information....
* for PageLRU while target looks for PageBuddy. When t...
* is found, both PageBuddy and PageLRU are checked as ...
* is suitable as both source and target.
*/
for (; migrate_pfn < free_pfn; migrate_pfn += pageblock...
free_pfn -= pageblock_nr_pages) {
cond_resched();
-
--[[linux-5.15/cond_resched()]]
/* Update the migrate PFN */
if (__reset_isolation_pfn(zone, migrate_pfn, true, sou...
migrate_pfn < reset_migrate) {
source_set = true;
reset_migrate = migrate_pfn;
zone->compact_init_migrate_pfn = reset_migrate;
zone->compact_cached_migrate_pfn[0] = reset_migrate;
zone->compact_cached_migrate_pfn[1] = reset_migrate;
}
-
--[[linux-5.15/__reset_isolation_pfn()]]
/* Update the free PFN */
if (__reset_isolation_pfn(zone, free_pfn, free_set, tr...
free_pfn > reset_free) {
free_set = true;
reset_free = free_pfn;
zone->compact_init_free_pfn = reset_free;
zone->compact_cached_free_pfn = reset_free;
}
-
--[[linux-5.15/__reset_isolation_pfn()]]
}
/* Leave no distance if no suitable block was reset */
if (reset_migrate >= reset_free) {
zone->compact_cached_migrate_pfn[0] = migrate_pfn;
zone->compact_cached_migrate_pfn[1] = migrate_pfn;
zone->compact_cached_free_pfn = free_pfn;
}
}
*コメント [#yea6d019]
ページ名: