Универсальный метод получения размера страницы памяти, выделенной mmap (обычная или огромная страница)?Linux

Anonymous
Универсальный метод получения размера страницы памяти, выделенной mmap (обычная или огромная страница)?

Сообщение Anonymous »

Моя программа использует mmap для распределения памяти. В зависимости от среды, в которой работает мое приложение, иногда мне нужен HugePage или обычная память, если HugePage не настроен.
Мне нужен удобный/универсальный метод для получения размер страницы памяти, возвращаемой mmap, независимо от того, передал ли я ему аргумент MAP_HUGETLB.
Я пробовал gethugepagesize()/gethugepagesizes(), но я не могу связать его с libhugetlbfs.
После долгих поисков я обнаружил, что связывание с этой библиотекой очень и очень сложно, хотя что Я просто хочу знать, использую ли я огромную страницу.
НЕ стоит добавлять много изменений в мой файл CMake.
Более того, gethugepagesize()/gethugepagesizes() НЕ является универсальным методом. Если я не использовал MAP_HUGETLB, мне придется снова вызвать getpagesize().
Существует ли универсальный метод, можно получить размер страницы памяти, возвращаемой mmap?
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/793 ... al-or-huge

Вернуться в «Linux»