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.

 

/Arty

Outcomes