Intereting Posts
Поиск определенного файла с помощью testdisk Извлечение данных из текстового файла Зачем компилировать несколько файлов .cpp в один и тот же исполняемый файл? Запуск программы как root vs user vs sudo xxxx Есть ли способ передать информацию о конфигурации оболочки при SSHing на хост? Монитор ноутбука Alienware перестает работать после подключения к внешнему монитору, ОС Kali Linux Цель $ в символической ссылке? Окно с центральным флюксовым окном Как передать аргументы git из PKGBUILD? Является ли терминал, который вы получаете при вводе Ctrl + Alt + F # процесса? изменение по умолчанию centos 7 рабочих пространств Заменить текст с помощью sed и сохранить часть исходного текста Отключение автосогласования PHY во время загрузки Linux на Xilinx Есть ли инструмент, который может контролировать использование полосы пропускания для одного процесса? Как написать сценарий оболочки с использованием условия из базы данных

Как обрабатывать исключительную страницу при распределении смежных страниц кеша в Linux

У меня есть код модуля ядра, который выделяет смежные страницы кеша. Я использую radix_tree_for_each_contig (). Вот фрагмент кода.

radix_tree_for_each_contig(slot, tree_root, iter, index) { struct page *page; page = radix_tree_deref_slot(slot); if (unlikely(!page)) continue; if (radix_tree_exceptional_entry(page)) 

В этом вышеописанном коде я проверяю exception_entry после radix_tree_deref_slot (). В последнем ядре (4.x) radix_tree_exceptional_entry () возвращает ненулевое значение, где в качестве одного и того же кода в старшем ядре 3.13.x дает ноль.

Итак, мой вопрос заключается в том, как обрабатывать exception_entry при распределении смежных страниц в кеше?