Re: [PATCH 02 of 66] mm, migration: Fix race between shift_arg_pages and rmap_walk by guaranteeing rmap_walk finds PTEs created within the temporary stack

Mel Gorman
2010-11-18T17:13:56Z

On Thu, Nov 18, 2010 at 11:13:49AM +0000, Mel Gorman wrote:
> > This patch fixes the problem by using two VMAs - one which covers the temporary
> > stack and the other which covers the new location. This guarantees that rmap
> > can always find the migration PTE even if it is copied while rmap_walk is
> > taking place.
> >
> > Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
>
> This old chestnut. IIRC, this was the more complete solution to a fix that made
> it into mainline. The patch still looks reasonable. It does add a kmalloc()
> but I can't remember if we decided we were ok with it or not. Can you remind
> me? More importantly, it appears to be surviving the original testcase that
> this bug was about (20 minutes so far but will leave it a few hours). Assuming
> the test does not crash;
>

Incidentally, after 6.5 hours this still hasn't crashed. Previously a
worst case reproduction scenario for the bug was around 35 minutes.

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