Re: [PATCH 1/2] mm,migration: Prevent rmap_walk_[anon|ksm] seeingthe wrong VMA information

From: Linus Torvalds
Date: Wed May 05 2010 - 11:35:17 EST




On Wed, 5 May 2010, Mel Gorman wrote:
>
> rmap_walk() appears to be the only one that takes multiple locks but it itself
> is not serialised. If there are more than one process calling rmap_walk()
> on different processes sharing the same VMAs, is there a guarantee they walk
> it in the same order?

So I had this notion of the list always getting deeper and us guaranteeing
the order in it, but you're right - that's not the 'same_anon_vma' list,
it's the 'same_vma' one.

Damn. So yeah, I don't see us guaranteeing any ordering guarantees. My
bad.

That said, I do wonder if we could _make_ the ordering reliable. I did
that for the 'same_vma' one, because I wanted to be able to verify that
chains were consistent (and we also needed to be able to find the "oldest
anon_vma" for the case of re-instantiating pages that migth exist in
multiple different anon_vma's).

Any ideas?

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