Вызов pgtable_cache_init()

Строка 463
Ключевой функцией в блоке кода х86 является системная функция kmem_ceche_ create (). Эта функция создает именованный кеш. Первый параметр - это строка, используемая для ее идентификации в /proc/slabinfo.
52 9 kmem_cache_t *pgc_cache;
53 0 kmem_cache_t *pmd_cache; 531

532 void init pgtable_cache_init(void)
533 {
534 if (PTRS_PER_PMD > 1) {
53 5 pmd_cache = kmem_cache_create("pmd",
536 PTRS_PER_PMD*sizeof(pmd_t),
537 0, 538 SLAB_HWCACHE_ALIGN | SLAB_MUST_H WCACHE_ALIGN,

539 pmd_ctor,
540 NULL);
541 if (!pmd_cache)
542 panic("pgtable_cache_init(): cannot create pmd cache");
543 }
544 pgd_cache = kmem_cache_create("pgd",

545 PTRS_PER_PGD*sizeof(pgd_t),
546 0,
547 SLAB_HWCACHE_ALIGN | SLAB_MUST_HWCACHE_ALIGN,
548 pgd_ctor,
549 PTRS_PER_PMD == 1 ? pgd_dtor : NULL);
550 if (!pgd_cache)
551 panic("pgtable_cache_init(): Cannot create pgd cache");
552 }

arch/ppc64/mm/init.с
976 void pgtable_cache_init(void)
977 {
978 zero_cache = kmem_cache_create("zero",
979 PAGE_SIZE,
980 0,
981 SLAB_HWCACHE_ALIGN | SLAB_MUST_HWCACHE_ALIGN,
982 zero_ctor,
983 NULL);
984 if (!zero_cache)
985 panic("pgtable_cache_init(): could not create zero_cache !\n");
986 }
Строки 532-542
Создание кеша pmd.
Строки 544-551
Создание кеша pgd.
На РРС с аппаратно-назначенным хешированием pgtable_cache_init () не является операцией.
include\asmppc\pgtable.h
685 #define pgtable_cache_init() do { } while (0)