Artem Kamshilin

kmalloc() GFP_ATOMIC fails - how to fix?

Discussion created by Artem Kamshilin on Aug 9, 2012

Hi everyone,


I'm trying to use a third-party driver on an i.MX28 box, and the driver does quite a few kmalloc() calls with GFP_ATOMIC parameter. This call is known to fail when kernel cannot find a reserved memory page for an atomic allocation operation. I tried increasing kernel configuration parameter called CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR (also known as “Low address space to protect from user allocation”) from a default value of 4096 to a maximum of 32768 recommended for ARM platforms. It didn't resolve the problem, so:


Question: which parameter should be tweaked to allow kernel a bit more flexibility for atomic page allocations?


Thanks in advance.