lkml.org 
[lkml]   [2006]   [Apr]   [14]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 2/5] Swapless V2: Add migration swap entries
FromLee Schermerhorn <>
DateFri, 14 Apr 2006 10:27:43 -0400
On Thu, 2006-04-13 at 22:25 -0700, Andrew Morton wrote:
> Christoph Lameter <clameter@sgi.com> wrote:
> >
> > On Thu, 13 Apr 2006, Andrew Morton wrote:
> > 
> > > Andrew Morton <akpm@osdl.org> wrote:
> > > >
> > > > Perhaps it would be better to go to
> > > >  sleep on some global queue, poke that queue each time a page migration
> > > >  completes?
> > > 
> > > Or take mmap_sem for writing in do_migrate_pages()?  That takes the whole
> > > pagefault path out of the picture.
> > 
> > We would have to take that for each task mapping the page. Very expensive 
> > operation.
> 
> So...  why does do_migrate_pages() take mmap_sem at all?
> 
> And the code we're talking about here deals with anonymous pages, which are
> not shared betweem mm's.

I think that anon pages are shared, copy-on-write, between parent and
child after a fork().  If no exec() and no task writes the page, the
sharing can become quite extensive.  I encountered this testing the
migrate-on-fault patches.  With MPOL_MF_MOVE, these shared anon pages
don't get migrated at all [sometimes this is what you want, sometimes
not...], but with '_MOVE_ALL the shared anon pages DO get migrated, so
you can have races between a faulting task and the migrating task.

Lee

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

\
 
 \ /
  Last update: 2006-04-14 16:29    [from the cache]
©2003-2008