Messages in this thread | | | Date | Tue, 11 May 2010 18:29:09 +0200 | From | Andrea Arcangeli <> | Subject | Re: [PATCH 2/2] mm,migration: Avoid race between shift_arg_pages() and rmap_walk() during migration by not migrating temporary stacks |
| |
On Tue, May 11, 2010 at 05:15:16PM +0100, Mel Gorman wrote: > On Tue, May 11, 2010 at 10:56:00AM -0500, Christoph Lameter wrote: > > On Tue, 11 May 2010, Mel Gorman wrote: > > > > > Or just identify the temporary stack from the migration side instead of > > > adding to the cost of exec? > > > > Adding one off checks to a generic mechanism isnt really clean > > programming. Using the provided means of disabling a generic mechanism is. > > > > Andrea's solution is likely lighter than yours as it is one kmalloc and > an insertion into the VM as opposed to a page table walk with reference > counting. Better yet, it exists as a patch that has been tested and it > fits in with the generic mechanism by guaranteeing that rmap_walk finds > all the migration PTEs during the second walk. > > The problem remains the same - that class of solution increases the cost of > a common operation (exec) to keep a much less operation (migration) happy.
page table walk adding reference counting is still a one off check, the generic rmap_walk mechanism won't care about the reference counting, still only migrate checks the page count... so it doesn't move the needle in clean programming terms.
| |