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