Количество блоков страниц в зоне памяти в ядре Linux - PullRequest
0 голосов
/ 05 апреля 2019

Ядро Linux использует растровое изображение, чтобы указать тип переноса блока страницы.Тем не менее, растровое изображение определяется как pageblock_flags в struct zone.

struct zone {
...
unsigned long *pageblock_flags;
...
};

Однако нам необходимо 3 бита для представления типа переноса, что означает, что самое большее pageblock_flags представляет 64/3 блоков страниц.Этого достаточно?Каждый блок страницы занимает всего 4 МБ, зона может содержать 1 ГБ памяти.Как это работает?

...