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