]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] smaps: shared fix
authorNick Piggin <nickpiggin@yahoo.com.au>
Mon, 6 Mar 2006 23:42:58 +0000 (15:42 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Tue, 7 Mar 2006 02:40:45 +0000 (18:40 -0800)
commita003d47e2142124f22a24126beb0ad604987a5bf
tree37c5386889669dd12899d28d2a38a25d1d9bcea2
parenta6fb9bf830da8f4cb95ba2514fd650caa21239bc
[PATCH] smaps: shared fix

The point of the smaps "shared" is to count the number of pages that are
mapped by more than one process, according to Mauricio Lin.  However, smaps
uses page_count for this, so it will return a false positive for every page
that is mapped by just that one process, which is also in pagecache or
swapcache.  There are false positive situations for anonymous pages not in
swapcache as well: - page reclaim, migration - get_user_pages (eg.
direct-io, ptrace)

Use page_mapcount instead, to count the number of mappings to the page.

Use vm_normal_page so that weird things like /dev/mem aren't counted either.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/proc/task_mmu.c