Ядро Linux в комментариях

       

Pgd_offset


Эта макрокоманда просто делит адрес на PGDIR_SHIFT (это значение установлено директивой #define равным 22 в строке ), округляет в меньшую сторону и использует результат (верхние 10 битов перед сдвигом) в качестве индекса массива pgd, размещенного в объекте struct mm_struct. Поэтому это значение представляет собой вход каталога страниц, в котором расположен адрес соответствующей таблицы страниц.

Это эквивалентно выражению

&((mm)->pgd[(address) >> PGDIR_SHIFT]);

хотя, возможно, более эффективно.



Содержание раздела