Re: How to allocate hugepage in kernel module?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi J.Hwan Kim,

Before we talk about APIs let's understand few things about requirement
1. How much contiguous memory do you require for you module ?
2. Should it be DMAble ?
3. Are you going to use that as shared memory with any other card or processor ?

So there are certain API which can provide you huge chunk of contiguous memory.
1. One of them as you are using is get_free_pages(). Try suggestions
by others to get rid of error.
2. Another thing you can use is dma_alloc_coherent(). But there is
limit on this and you should consider that other modules will also
required DMAble memory.
3. Depending on the kernel version you are using you can do
bootmem_reserve() API during initialization code of kernel and you can
keep this memory reserved for your module. Pass that as platform data.
4. You can try passing say mem=768M parameter through kernel
commandline(assuming you have 1G of memory). That will force kernel to
use 768M and you can use rest of the 256M memory by doing ioremap in
your module.

Regards,
~/Aurum

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux