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