Re: [PATCHv3 05/24] mm, proc: adjust PSS calculation

Kirill A. Shutemov
2015-02-23T13:53:55Z

On Fri, Feb 20, 2015 at 06:31:15PM +0100, Jerome Marchand wrote:
> On 02/12/2015 05:18 PM, Kirill A. Shutemov wrote:
> > With new refcounting all subpages of the compound page are not nessessary
> > have the same mapcount. We need to take into account mapcount of every
> > sub-page.
> >
> > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> > ---
> > fs/proc/task_mmu.c | 43 ++++++++++++++++++++++---------------------
> > 1 file changed, 22 insertions(+), 21 deletions(-)
> >
> > diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
> > index 98826d08a11b..8a0a78174cc6 100644
> > --- a/fs/proc/task_mmu.c
> > +++ b/fs/proc/task_mmu.c
> > @@ -449,9 +449,10 @@ struct mem_size_stats {
> > };
> >
> > static void smaps_account(struct mem_size_stats *mss, struct page *page,
> > - unsigned long size, bool young, bool dirty)
> > + bool compound, bool young, bool dirty)
> > {
> > - int mapcount;
> > + int i, nr = compound ? hpage_nr_pages(page) : 1;
> > + unsigned long size = 1UL << nr;
>
> Shouldn't that be:
> unsigned long size = nr << PAGE_SHIFT;

Yes, thanks you.

--
Kirill A. Shutemov