Hi Mulyadi, > Only DMA zone....ok, that means, you only have smaller than 16 MB of RAM? Yes. The target has only 16 MB of RAM and hence the pages from DMA zone, I guess in such case all the pages are allocated from DMA zone only.. > According to this you have: > 1*PAGE_SIZE+30*2*PAGE_SIZE+13*4*PAGE_SIZE+4*8*PAGE_SIZE+1*64*PAGE_SIZE=(1+60 +52+32+64)*PAGE_SIZE=209*PAGE_SIZE Yes. Still I got a page allocation failure. > still a lot...hmmm...what is the page size of your ARM architecture anyway? hmmm.... Need to verify. > Not sure, but I found something interesting. You did two allocations: > poarray=(char*)malloc(SIGPAGE); (and) p2=(char*)malloc(100); > but you only did single deallocation: free(p2); > Thus I suspect, you got memory leak here. This was intentional as I am not allocating the space inside the loop. This space has been reserved and kept used by writing some value in those pages. Inside the loop I am repeatedly allocating and deallocating the pages referred to by p2. Still I got the page allocation failure. No clue, Why????? Regards, Abu. -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/