Для некоторого взаимодействия с устройством PCI, которое создается, мы хотели бы создать большие непрерывные фрагменты памяти, к которым может получить доступ плата. Как сейчас, самая большая часть памяти, которую я смог выделить, составляет 4 мегабайта. Мне интересно, есть ли какие-либо методы для создания больших регионов.
Я знаю, что для этого могу использовать параметр загрузки mem=
, но по причинам numa я бы предпочел не идти по этому маршруту. Если, с другой стороны, кто-то знал способ сделать это, но распределить его по узлам numa, это было бы хорошо.
Как я уже сказал, в настоящее время ограничено 4 мегабайтами. В настоящее время выделение выполняется __alloc_pages
, которое ограничено MAX_ORDER
. MAX_ORDER
- константа времени компиляции, и я также обеспокоен тем, что ее редактирование может иметь последствия в других местах.
Спасибо.