Michel Lespinasse db4fbfb952 mm: vm_unmapped_area() lookup function
Implement vm_unmapped_area() using the rb_subtree_gap and highest_vm_end
information to look up for suitable virtual address space gaps.

struct vm_unmapped_area_info is used to define the desired allocation
request:
 - lowest or highest possible address matching the remaining constraints
 - desired gap length
 - low/high address limits that the gap must fit into
 - alignment mask and offset

Also update the generic arch_get_unmapped_area[_topdown] functions to make
use of vm_unmapped_area() instead of implementing a brute force search.

[akpm@linux-foundation.org: checkpatch fixes]
Signed-off-by: Michel Lespinasse <walken@google.com>
Reviewed-by: Rik van Riel <riel@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Chris Metcalf <cmetcalf@tilera.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-12-11 17:22:25 -08:00
..
2012-05-29 23:28:33 -04:00
2012-01-03 22:54:56 -05:00
2011-07-26 16:49:47 -07:00
2012-12-11 17:22:22 -08:00
2012-12-11 17:22:22 -08:00
2012-12-06 11:56:43 -08:00
2012-12-11 17:22:22 -08:00
2012-10-09 16:23:03 +09:00
2012-12-11 17:22:25 -08:00
2012-06-20 14:39:36 -07:00
2012-06-20 14:39:36 -07:00
2012-12-06 11:56:43 -08:00
2012-10-09 16:22:55 +09:00
2012-10-09 16:22:59 +09:00