vm_map_ram — map pages linearly into kernel virtual address (vmalloc space)
void * vm_map_ram ( | struct page ** pages, |
unsigned int count, | |
int node, | |
pgprot_t prot) ; |
pages
an array of pointers to the pages to be mapped
count
number of pages
node
prefer to allocate data structures on this node
prot
memory protection to use. PAGE_KERNEL for regular RAM
If you use this function for less than VMAP_MAX_ALLOC pages, it could be
faster than vmap so it's good. But if you mix long-life and short-life
objects with vm_map_ram
, it could consume lots of address space through
fragmentation (especially on a 32bit machine). You could see failures in
the end. Please use this function for short-lived objects.