Отключение oom killer влияет на область, выделенную kmalloc()?
Моя версия ядра Linux - 2.6.34.13
Процессор Powerpc.
Я хотел бы полностью отключить OOM-killer как в пользовательском процессе, так и в модуле ядра.
Конфигурируя с помощью следующих параметров, я отключил oom killer.
vm.overcommit_memory = 2
vm.overcommit_ratio = 100
В этом случае, malloc()
возвращает доступный адрес до тех пор, пока не будут выделены все области (физическая память + обмен). Если все области уже распределены, он вернет NULL и OOM killer не будет работать.
Тем не менее, как насчет kmalloc()
с аргументом GFP_KERNEL? Если ZONE_NORMAL области выделены полностью, kmalloc()
возвращает NULL? а OOM killer не выполняет?