[QUESTION] about the maple tree and current status of mmap_lock scalability

From: Hyeonggon Yoo
Date: Wed Dec 28 2022 - 07:49:38 EST


Hello mm folks,

I have a few questions about the current status of mmap_lock scalability.

=============================================================
What is currently causing the kernel to use mmap_lock to protect the maple tree?
=============================================================

I understand that the long-term goal is to remove the need for mmap_lock in readers
while traversing the maple tree, using techniques such as RCU or SPF.
What is the biggest obstacle preventing this from being achieved at this time?

==================================================
How does the maple tree provide RCU-safe manipulation of VMAs?
==================================================

Is it similar to the approach suggested in the RCUVM paper (replacing the original
root node with a new root node that shares most of its nodes and deferring
the freeing of stale nodes using RCU)?

I'm having difficulty understanding the design of the maple tree in this regard.

[RCUVM paper] https://pdos.csail.mit.edu/papers/rcuvm:asplos12.pdf

Thank you for your time.

---
Hyeonggon