Messages in this thread | | | Date | Mon, 28 Dec 2009 19:25:34 +0900 | From | Minchan Kim <> | Subject | Re: [PATCH 3/3 -mmotm-2009-12-10-17-19] Fix wrong rss counting of smap |
| |
I missed Hugn and Matt.
Minchan Kim wrote: > After return zero_page, vm_normal_page can return > NULL if the page is zero page. > > In such case, RSS and PSS can be mismatched. > This patch fixes it. > > Signed-off-by: Minchan Kim <minchan.kim@gmail.com> > --- > fs/proc/task_mmu.c | 5 ++--- > 1 files changed, 2 insertions(+), 3 deletions(-) > > diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c > index 47c03f4..1a47be9 100644 > --- a/fs/proc/task_mmu.c > +++ b/fs/proc/task_mmu.c > @@ -361,12 +361,11 @@ static int smaps_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end, > if (!pte_present(ptent)) > continue; > > - mss->resident += PAGE_SIZE; > - > page = vm_normal_page(vma, addr, ptent); > - if (!page) > + if (!page && !is_zero_pfn(pte_pfn(ptent))) > continue; > > + mss->resident += PAGE_SIZE; > /* Accumulate the size in pages that have been accessed. */ > if (pte_young(ptent) || PageReferenced(page)) > mss->referenced += PAGE_SIZE;
| |