Re: [PATCH -mm] remove VM_LOCK_RMAP code

From: Rik van Riel
Date: Mon Feb 01 2010 - 10:58:37 EST


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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/