diff options
| author | Rik van Riel <[email protected]> | 2010-08-09 17:18:41 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2010-08-09 20:44:55 -0700 |
| commit | 76545066c8521f3e32c849744744842b4df25b79 (patch) | |
| tree | 978b6b003f63e1e22618586b7d9c2dd8ef363614 /tools/perf/scripts/python | |
| parent | 012f18004da33ba672e3c60838cc4898126174d3 (diff) | |
mm: extend KSM refcounts to the anon_vma root
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 <[email protected]>
Tested-by: Larry Woodman <[email protected]>
Acked-by: Larry Woodman <[email protected]>
Reviewed-by: Minchan Kim <[email protected]>
Cc: KAMEZAWA Hiroyuki <[email protected]>
Acked-by: Mel Gorman <[email protected]>
Acked-by: Linus Torvalds <[email protected]>
Tested-by: Dave Young <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions