diff options
| author | Liam R. Howlett <[email protected]> | 2023-07-24 14:31:45 -0400 |
|---|---|---|
| committer | Andrew Morton <[email protected]> | 2023-08-18 10:12:47 -0700 |
| commit | fd892593d44d8b649caf30a67f0c7696d976d901 (patch) | |
| tree | b7734e3fae647a4d4bde898a5bcbbf78194b6443 /tools/perf/scripts/python | |
| parent | 8c314f3b55fbc42284ea1367bb2807f2accad8ae (diff) | |
mm: change do_vmi_align_munmap() tracking of VMAs to remove
The majority of the calls to munmap a vm range is within a single vma.
The maple tree is able to store a single entry at 0, with a size of 1 as
a pointer and avoid any allocations. Change do_vmi_align_munmap() to
store the VMAs being munmap()'ed into a tree indexed by the count. This
will leverage the ability to store the first entry without a node
allocation.
Storing the entries into a tree by the count and not the vma start and
end means changing the functions which iterate over the entries. Update
unmap_vmas() and free_pgtables() to take a maple state and a tree end
address to support this functionality.
Passing through the same maple state to unmap_vmas() and free_pgtables()
means the state needs to be reset between calls. This happens in the
static unmap_region() and exit_mmap().
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Liam R. Howlett <[email protected]>
Cc: Peng Zhang <[email protected]>
Cc: Suren Baghdasaryan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions