Messages in this thread | | | Date | Mon, 01 Feb 2010 10:55:35 -0500 | From | Rik van Riel <> | Subject | Re: [PATCH -mm] remove VM_LOCK_RMAP code |
| |
On 02/01/2010 01:15 AM, Nick Piggin wrote: > On Fri, Jan 29, 2010 at 07:34:10PM -0500, Rik van Riel wrote: >> When a VMA is in an inconsistent state during setup or teardown, the >> worst that can happen is that the rmap code will not be able to find >> the page. > > OK, but you missed the interesting thing, which is to explain why > that worst case is not a problem. > > rmap of course is not just used for reclaim but also invalidations > from mappings, and those guys definitely need to know that all > page table entries have been handled by the time they return.
This is not a problem, because the mapping is in the process of being torn down (PTEs just got invalidated by munmap), or set up (no PTEs have been instantiated yet).
The third case is split_vma, where we can have one VMA in an inconsistent state (rmap cannot find the PTEs), while the other VMA is still in its original state (rmap finds the PTEs through that VMA).
That is what makes this safe.
-- All rights reversed.
| |