summaryrefslogtreecommitdiff
path: root/mm/vmalloc.c
diff options
context:
space:
mode:
authorSusheel Khiani <skhiani@codeaurora.org>2015-09-03 18:21:23 +0530
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-22 11:03:56 -0700
commit7215a1cfeedf3bed381fbbe2dfee3bbc0bbdedaf (patch)
tree37133137be9cb63a9da17ba8939b13bcc6deca66 /mm/vmalloc.c
parent8dd433c495083611fd6a17ea34e9154fc3bc01db (diff)
msm: Increase the kernel virtual area to include lowmem
Even though lowmem is accounted for in vmalloc space, allocation comes only from the region bounded by VMALLOC_START and VMALLOC_END. The kernel virtual area can now allocate from any unmapped region starting from PAGE_OFFSET. Change-Id: I291b9eb443d3f7445fd979bd7b09e9241ff22ba3 Signed-off-by: Neeti Desai <neetid@codeaurora.org> Signed-off-by: Susheel Khiani <skhiani@codeaurora.org>
Diffstat (limited to 'mm/vmalloc.c')
-rw-r--r--mm/vmalloc.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 8e3c9c5a3042..5cb30464691c 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -1388,16 +1388,27 @@ struct vm_struct *__get_vm_area_caller(unsigned long size, unsigned long flags,
*/
struct vm_struct *get_vm_area(unsigned long size, unsigned long flags)
{
+#ifdef CONFIG_ENABLE_VMALLOC_SAVING
+ return __get_vm_area_node(size, 1, flags, PAGE_OFFSET, VMALLOC_END,
+ NUMA_NO_NODE, GFP_KERNEL,
+ __builtin_return_address(0));
+#else
return __get_vm_area_node(size, 1, flags, VMALLOC_START, VMALLOC_END,
NUMA_NO_NODE, GFP_KERNEL,
__builtin_return_address(0));
+#endif
}
struct vm_struct *get_vm_area_caller(unsigned long size, unsigned long flags,
const void *caller)
{
+#ifdef CONFIG_ENABLE_VMALLOC_SAVING
+ return __get_vm_area_node(size, 1, flags, PAGE_OFFSET, VMALLOC_END,
+ NUMA_NO_NODE, GFP_KERNEL, caller);
+#else
return __get_vm_area_node(size, 1, flags, VMALLOC_START, VMALLOC_END,
NUMA_NO_NODE, GFP_KERNEL, caller);
+#endif
}
/**