Re: [PATCH 07/28] extend KSM refcounts to the anon_vma root

From: Mel Gorman
Date: Wed Jun 09 2010 - 06:55:43 EST


On Mon, Jun 07, 2010 at 01:07:01PM +0200, Peter Zijlstra wrote:
> From: Rik van Riel <riel@xxxxxxxxxx>
>
> KSM reference counts can cause an anon_vma to exist after the processe
> it belongs to have already exited. Because the anon_vma lock now lives
> in the root anon_vma, we need to ensure that the root anon_vma stays
> around until after all the "child" anon_vmas have been freed.
>
> The obvious way to do this is to have a "child" anon_vma take a
> reference to the root in anon_vma_fork. When the anon_vma is freed
> at munmap or process exit, we drop the refcount in anon_vma_unlink
> and possibly free the root anon_vma.
>
> The KSM anon_vma reference count function also needs to be modified
> to deal with the possibility of freeing 2 levels of anon_vma. The
> easiest way to do this is to break out the KSM magic and make it
> generic.
>
> When compiling without CONFIG_KSM, this code is compiled out.
>
> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx>
> Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> LKML-Reference: <20100526154124.04607d04@xxxxxxxxxxxxxxxxxxxxx>

Acked-by: Mel Gorman <mel@xxxxxxxxx

> <SNIP>

--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
--
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/