lkml.org 
[lkml]   [2010]   [Mar]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 02/11] mm,migration: Do not try to migrate unmapped anonymous pages
On Thu, Mar 25, 2010 at 11:49:23AM +0900, KOSAKI Motohiro wrote:
> > On Fri, Mar 19, 2010 at 03:21:41PM +0900, KOSAKI Motohiro wrote:
> > > > > then, this logic depend on SLAB_DESTROY_BY_RCU, not refcount.
> > > > > So, I think we don't need your [1/11] patch.
> > > > >
> > > > > Am I missing something?
> > > > >
> > > >
> > > > The refcount is still needed. The anon_vma might be valid, but the
> > > > refcount is what ensures that the anon_vma is not freed and reused.
> > >
> > > please please why do we need both mechanism. now cristoph is very busy and I am
> > > de fact reviewer of page migration and mempolicy code. I really hope to understand
> > > your patch.
> >
> > As in, why not drop the RCU protection of anon_vma altogeter? Mainly, because I
> > think it would be reaching too far for this patchset and it should be done as
> > a follow-up. Putting the ref-count everywhere will change the cache-behaviour
> > of anon_vma more than I'd like to slip into a patchset like this. Secondly,
> > Christoph mentions that SLAB_DESTROY_BY_RCU is used to keep anon_vma cache-hot.
> > For these reasons, removing RCU from these paths and adding the refcount
> > in others is a patch that should stand on its own.
>
> Hmmm...
> I haven't understand your mention because I guess I was wrong.
>
> probably my last question was unclear. I mean,
>
> 1) If we still need SLAB_DESTROY_BY_RCU, why do we need to add refcount?
> Which difference is exist between normal page migration and compaction?

The processes typically calling migration today own the page they are moving
and is not going to exit unexpectedly during migration.

> 2) If we added refcount, which race will solve?
>

The process exiting and the last anon_vma being dropped while compaction
is running. This can be reliably triggered with compaction.

> IOW, Is this patch fix old issue or compaction specific issue?
>

Strictly speaking, it's an old issue but in practice it's impossible to
trigger because the process migrating always owns the page. Compaction
moves pages belonging to arbitrary processes.

--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab


\
 
 \ /
  Last update: 2010-03-25 09:35    [W:0.215 / U:0.752 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site