Строка 476
Ядро Linux 2.6 использует корневое дерево для управления страницами в кеше страниц. Здесь мы просто инициализируем последовательную секцию пространства ядра для хранения корневого дерева страницы кеша:
lib/radix-tree.с
798 void init radix_tree_init(void)
799 {
800 radix_tree_node_cachep = kmem_cache_create("radix_tree_node",
801 sizeof(struct radix_tree_node), 0,
802 SLAB_PANIC, radix_tree_node_ctor, NULL);
803 radix_tree_init_maxindex();
804 hotcpu_notifier(radix_tree_callback, 0);
lib/radix-tree.с
768 static init void radix_tree_init_maxindex(void)
769 {
770 unsigned int i;
771
772 for (i =0; i < ARRAY_SIZE(height_to_maxindex); i++)
773 height_to_maxindex[i] = maxindex(i);
774 }
Обратите внимание, как radix_tree_init () выделяет пространства кеша страниц, а radix_tree_init_maxindex () настраивает хранилище данных корневого дерева, height_to_maxindex [ ].
hotcpu_notif ier () (в строке 804) связана с возможностью горячего подключения процессоров в Linux 2.6. Когда процессор подключается вгорячую, ядро вызывает
гасПх_Ъгее_са11Ьаск (), которая пытается очистить все части кеша страниц, связанные с горячим подключением процессоров.