On Wed, Jan 14, 2015 at 12:45:38PM +0300, Cyrill Gorcunov wrote:
> On Tue, Jan 13, 2015 at 01:49:10PM -0800, Dave Hansen wrote:
> > On 01/13/2015 01:43 PM, Cyrill Gorcunov wrote:
> > > On Tue, Jan 13, 2015 at 09:14:15PM +0200, Kirill A. Shutemov wrote:
> > >> We're going to account pmd page tables too. Let's rename mm->nr_pgtables
> > >> to something more generic.
> > >>
> > >> Signed-off-by: Kirill A. Shutemov <kirill.shute...@linux.intel.com>
> > >> --- a/fs/proc/task_mmu.c
> > >> +++ b/fs/proc/task_mmu.c
> > >> @@ -64,7 +64,7 @@ void task_mem(struct seq_file *m, struct mm_struct *mm)
> > >>                  data << (PAGE_SHIFT-10),
> > >>                  mm->stack_vm << (PAGE_SHIFT-10), text, lib,
> > >>                  (PTRS_PER_PTE * sizeof(pte_t) *
> > >> -                 atomic_long_read(&mm->nr_ptes)) >> 10,
> > >> +                 atomic_long_read(&mm->nr_pgtables)) >> 10,
> > > 
> > > This implies that (PTRS_PER_PTE * sizeof(pte_t)) = (PTRS_PER_PMD * 
> > > sizeof(pmd_t))
> > > which might be true for all archs, right?

I doubt it. And even if it's true now, nobody can guarantee that this will
be true for all future configurations.

> > I wonder if powerpc is OK on this front today.  This diagram:
> > 
> >     http://linux-mm.org/PageTableStructure
> > 
> > says that they use a 128-byte "pte" table when mapping 16M pages.  I
> > wonder if they bump mm->nr_ptes for these.
> 
> It looks like this doesn't matter. The statistics here prints the size
> of summary memory occupied for pte_t entries, here PTRS_PER_PTE * 
> sizeof(pte_t)
> is only valid for, once we start accounting pmd into same counter it implies
> that PTRS_PER_PTE == PTRS_PER_PMD, which is not true for all archs
> (if I understand the idea of accounting here right).

Yeah. good catch. Thank you.

I'll respin with separate counter for pmd tables. It seems the best
option.

-- 
 Kirill A. Shutemov
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to