LINUX.ORG.RU

GFP_ATOMIC kmalloc

 , , , ,


0

1

Заметил, что на девайсине при нехватке памяти падает драйвер вайфая, из-за того, что не может прочитать urb буффер, т.к. kmalloc(15 килобайт, GFP_ATOMIC) не может дать рамы. GFP_ATOMIC не усыпляет процесс если не доступно нужное количество памяти, поэтому падает. Но странно, у ядра не нашлось 15кб зарезервированной памяти? Как и где можно выставить, чтобы ядро всегда оставляло некоторое количество физической памяти зарезервированной, то-есть к примеру если юзерспейс попросил раму, и после выделения её окажется < RESERVED_MEMORY, то сперва вытеснение с свап, а потом выделение?

Сам нашёл, vm.min_free_kbytes. Судя из дока, то что нужно.

vova7890 ★★★ ()

А что за драйвер? Хотеть 15 килобайт сразу из атомик контекста - это жесть.

Deleted ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.