Re: [RFC][PATCH] release mmap_sem before starting migration (WasRe: Need to take mmap_sem lock in move_pages.

From: Swamy Gowda
Date: Thu Feb 05 2009 - 07:24:27 EST


KAMEZAWA Hiroyuki wrote:
On Wed, 4 Feb 2009 10:39:19 -0500 (EST)
Christoph Lameter <cl@xxxxxxxxxxxxxxxxxxxx> wrote:

On Wed, 4 Feb 2009, KAMEZAWA Hiroyuki wrote:

> mmap_sem can be released after page table walk ends.

No. read lock on mmap_sem must be held since the migrate functions
manipulate page table entries. Concurrent large scale changes to the page
tables (splitting vmas, remapping etc) must not be possible.

Just for clarification:

1. changes in page table is not problem from the viewpoint of kernel.
(means no panic, no leak,...)
2. But this loses "atomic" aspect of migration and will allow unexpected
behaviors.
(means the page-mapping status after sys_move may not be what user expects.)


Thanks,
-Kame


But I can't understand how user can see different page->mapping , since new page->mapping still holds the anon_vma pointer which should still contain the changes in the vma list( due to split vma etc). But, considering it as a problem how is it avoided in case of hotremove?



--Swamy


--
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/