LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - General (https://www.linuxquestions.org/questions/linux-general-1/)
-   -   Linux kernel memory limitations (https://www.linuxquestions.org/questions/linux-general-1/linux-kernel-memory-limitations-798128/)

kd2000 03-26-2010 04:18 PM

Linux kernel memory limitations
 
Greetings!

I am somewhat of a newbie to Linux apps / kernel / driver programming.
I have question related to kernel memory allocation which I am not able to clearly find an answer. I have Google'd around and found lot of incomplete threads without any solution. Here is what I have -
For x86_64 - Nehalem CPU 64 bit mode, I have a system with 6GB memory, with a PCIe device capable of performing 64 bit DMA.
I want to allocate 2GB or more of DMA memory via a kernel lkm module. Basically idea is to make memory allocation kernel aware.

1> Can the DMA memory beyond 4G address space be allocated by kernel ?
Are there any limitations with 2.6.x ?

2> I have a sample LKM which via an ioctl allocates memory using get_free_page, however after allocating around 65xxx pages (~256MB), the kernel OOM kicks in and kills the user process ? Is there a config anywhere to prevent his ? Is the user space process limited to certain amount memory ?

3> This is 64 bit mode kernel so technically there should be no restrictions right ? I am also aware about some of the allocate_bootmem options, but not quite clear on their usage for address space beyond 4Gb. Is this only choice ? What about DMA coherency ?

Thanks a bunch in advance.
-DK

Laurens73 03-27-2010 04:33 AM

As far as I know the 64 bits kernels all have a limit of 64GB and also the 32 bits BigMem kernels do, with the difference that applications will get a maximum of 3008MB per application in the 32 bits BigMem kernels and in the 64 bits they will have all memory available per process.

XavierP 03-27-2010 05:40 AM

Please post your thread in only one forum. Posting a single thread in the most relevant forum will make it easier for members to help you and will keep the discussion in one place. This thread is being closed because it is a duplicate.

Continue here: http://www.linuxquestions.org/questi...ations-798131/


All times are GMT -5. The time now is 12:11 AM.