Messages in this thread | | | Date | Wed, 14 Jan 2015 16:33:58 +0200 | From | "Kirill A. Shutemov" <> | Subject | Re: [PATCH 1/2] mm: rename mm->nr_ptes to mm->nr_pgtables |
| |
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.shutemov@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
| |