Commit 7f53a09ed40f08416b3029ada8f02252e7596c18
Committed by
Linus Torvalds
1 parent
d2b34e20c1
Exists in
master
and in
20 other branches
smaps: fix wrong rss count
A long time ago we regarded zero page as file_rss and vm_normal_page doesn't return NULL. But now, we reinstated ZERO_PAGE and vm_normal_page's implementation can return NULL in case of zero page. Also we don't count it with file_rss any more. Then, RSS and PSS can't be matched. For consistency, Let's ignore zero page in smaps_pte_range. Signed-off-by: Minchan Kim <minchan.kim@gmail.com> Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Acked-by: Hugh Dickins <hugh.dickins@tiscali.co.uk> Acked-by: Matt Mackall <mpm@selenic.com> Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Showing 1 changed file with 1 additions and 2 deletions Side-by-side Diff
fs/proc/task_mmu.c
... | ... | @@ -361,12 +361,11 @@ |
361 | 361 | if (!pte_present(ptent)) |
362 | 362 | continue; |
363 | 363 | |
364 | - mss->resident += PAGE_SIZE; | |
365 | - | |
366 | 364 | page = vm_normal_page(vma, addr, ptent); |
367 | 365 | if (!page) |
368 | 366 | continue; |
369 | 367 | |
368 | + mss->resident += PAGE_SIZE; | |
370 | 369 | /* Accumulate the size in pages that have been accessed. */ |
371 | 370 | if (pte_young(ptent) || PageReferenced(page)) |
372 | 371 | mss->referenced += PAGE_SIZE; |