[RFC PATCH v2 0/4] mm/madvise: remove redundant mmap_lock operations from process_madvise()
From: SeongJae Park
Date: Thu Jan 16 2025 - 20:31:20 EST
process_madvise() calls do_madvise() for each address range. Then, each
do_madvise() invocation holds and releases same mmap_lock. Optimize the
redundant lock operations by splitting do_madvise() internal logics
including the mmap_lock operations, and calling the small logics
directly from process_madvise() in a sequence that removes the redundant
locking.
Changes from RFC v1 (20250111004618.1566-1-sj@xxxxxxxxxx)
- Split out do_madvise() and use those from vector_madvise(), instead of
adding a flag to do_madvise() (Liam R. Howlett)
SeongJae Park (4):
mm/madvise: split out mmap locking operations for madvise()
mm/madvise: split out madvise input validity check
mm/madvise: split out madvise() behavior execution
mm/madvise: remove redundant mmap_lock operations from
process_madvise()
mm/madvise.c | 150 +++++++++++++++++++++++++++++++++++----------------
1 file changed, 103 insertions(+), 47 deletions(-)
base-commit: b43ba6938d01ad4487028592109d4116a28b7afa
--
2.39.5