Messages in this thread Patch in this message | | | From | David Vrabel <> | Subject | [PATCH 6/6] mm: remove vmalloc_sync_all() from alloc_vm_area() | Date | Thu, 15 Sep 2011 13:40:11 +0100 |
| |
From: David Vrabel <david.vrabel@citrix.com>
The address space allocated by the remaining user of alloc_vm_area() is not accessed during a hypercall. Therefore, the normal mechanism of populating the vmalloc page tables during a fault works so the vmalloc_sync_all() is not required and it can be removed.
Signed-off-by: David Vrabel <david.vrabel@citrix.com> Cc: Andrew Morton <akpm@linux-foundation.org> --- mm/vmalloc.c | 12 +----------- 1 files changed, 1 insertions(+), 11 deletions(-)
diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 5016f19..b0b4550 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -2117,9 +2117,7 @@ static int f(pte_t *pte, pgtable_t table, unsigned long addr, void *data) * * This function reserves a range of kernel address space, and * allocates pagetables to map that range. No actual mappings - * are created. If the kernel address space is not shared - * between processes, it syncs the pagetable across all - * processes. + * are created. */ struct vm_struct *alloc_vm_area(size_t size) { @@ -2140,14 +2138,6 @@ struct vm_struct *alloc_vm_area(size_t size) return NULL; } - /* - * If the allocated address space is passed to a hypercall - * before being used then we cannot rely on a page fault to - * trigger an update of the page tables. So sync all the page - * tables here. - */ - vmalloc_sync_all(); - return area; } EXPORT_SYMBOL_GPL(alloc_vm_area); -- 1.7.2.5
| |