Я занимаюсь разработкой ядра Linux.
И я собираюсь выделить некоторое пространство памяти с чем-то вроде:
ptr = flex_array_alloc(size=136B, num=1<<16, GFP_KERNEL)
И ptr
Оказывается NULL
каждый раз, когда я пытаюсь.
Более того, когда я изменяю размер на 20B или num на 256 , нет ничего плохого, и память может быть получена.
Поэтому я хочу знать, есть ли какие-то ограничения для запроса памяти в модулях ядра Linux.И как его отладить или выделить большой объем памяти.
Спасибо.
И kzalloc
ведет себя аналогично в моей среде.То есть, запрос 136B * (1<<16)
пробела не удался, в то время как 20B
или 1<<8
завершился успешно.