Re: [patch 3/3] arch_rebalance_pgtables call

Nick Piggin
2007-11-14T00:36:24Z

On Tuesday 13 November 2007 01:30, schwidefsky@de.ibm.com wrote:
> From: Martin Schwidefsky <schwidefsky@de.ibm.com>
>
> In order to change the layout of the page tables after an mmap has
> crossed the adress space limit of the current page table layout a
> architecture hook in get_unmapped_area is needed. The arguments
> are the address of the new mapping and the length of it.

Can you comment what this is supposed to be fore somewhere?

> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
> ---
>
> mm/mmap.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> Index: linux-2.6/mm/mmap.c
> ===================================================================
> --- linux-2.6.orig/mm/mmap.c
> +++ linux-2.6/mm/mmap.c
> @@ -36,6 +36,10 @@
> #define arch_mmap_check(addr, len, flags) (0)
> #endif
>
> +#ifndef arch_rebalance_pgtables
> +#define arch_rebalance_pgtables(addr, len) (addr)
> +#endif
> +
> static void unmap_region(struct mm_struct *mm,
> struct vm_area_struct *vma, struct vm_area_struct *prev,
> unsigned long start, unsigned long end);
> @@ -1436,7 +1440,7 @@ get_unmapped_area(struct file *file, uns
> if (addr & ~PAGE_MASK)
> return -EINVAL;
>
> - return addr;
> + return arch_rebalance_pgtables(addr, len);
> }
>
> EXPORT_SYMBOL(get_unmapped_area);