]> www.infradead.org Git - users/jedix/linux-maple.git/commit
mm: start tracking VMAs with maple tree
authorLiam R. Howlett <Liam.Howlett@Oracle.com>
Thu, 14 Apr 2022 06:07:13 +0000 (23:07 -0700)
committerLiam R. Howlett <Liam.Howlett@oracle.com>
Wed, 4 May 2022 00:56:31 +0000 (17:56 -0700)
commit659bdd3d8eaf5c9abdcaa44740c4d2d699156bb6
tree3e8eeffb21c64565271f611ef5d1dd5799a1f57e
parentc6fec0559cdd7d640039c26a2c73d02ec08932c9
mm: start tracking VMAs with maple tree

Start tracking the VMAs with the new maple tree structure in parallel with
the rb_tree.  Add debug and trace events for maple tree operations and
duplicate the rb_tree that is created on forks into the maple tree.

The maple tree is added to the mm_struct including the mm_init struct,
added support in required mm/mmap functions, added tracking in kernel/fork
for process forking, and used to find the unmapped_area and checked
against what the rbtree finds.

This also moves the mmap_lock() in exit_mmap() since the oom reaper call
does walk the VMAs.  Otherwise lockdep will be unhappy if oom happens.

Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
arch/x86/kernel/tboot.c
drivers/firmware/efi/efi.c
include/linux/mm.h
include/linux/mm_types.h
include/trace/events/mmap.h
kernel/fork.c
mm/init-mm.c
mm/mmap.c