Re: [PATCH 4/5] always lock the root (oldest) anon_vma

From: Rik van Riel
Date: Wed May 12 2010 - 17:08:31 EST


On 05/12/2010 05:02 PM, Mel Gorman wrote:

This last comment is a bit light. It's actually restoring the lock that
was taken in 2.6.33 to some extent except we are always taking it now.
In 2.6.33, it was resricted to

if (vma->anon_vma&& (insert || importer || start != vma->vm_start))
anon_vma = vma->anon_vma;

but now it's always. Has it been determined that the locking in 2.6.33
was insufficient or are we playing it safe now?

Playing it safe, mostly.

Another aspect is that, if you look at the if condition above,
the number of cases where we have an anon_vma and do not take
the lock is pretty small.

Basically only the case where we expand a VMA upward or merge
VMAs in an mprotect. I believe in pretty much all other cases
we end up needing to take the lock.

I am not entirely convinced the old code took the lock in all
of the required cases.

--
All rights reversed
--
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/