[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20171103092048.ozmskabkq5rrwizz@black.fi.intel.com>
Date: Fri, 3 Nov 2017 12:20:49 +0300
From: "Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>
To: Heiko Carstens <heiko.carstens@...ibm.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>, linux-mm@...ck.org,
linux-next@...r.kernel.org, linux-s390@...r.kernel.org,
linux-kernel@...r.kernel.org, Michal Hocko <mhocko@...e.com>,
Gerald Schaefer <gerald.schaefer@...ibm.com>,
Martin Schwidefsky <schwidefsky@...ibm.com>
Subject: Re: [PATCH] s390/mm: fix pud table accounting
On Fri, Nov 03, 2017 at 09:05:51AM +0000, Heiko Carstens wrote:
> With "mm: account pud page tables" and "mm: consolidate page table
> accounting" pud page table accounting was introduced which now results
> in tons of warnings like this one on s390:
>
> BUG: non-zero pgtables_bytes on freeing mm: -16384
>
> Reason for this are our run-time folded page tables: by default new
> processes start with three page table levels where the allocated pgd
> is the same as the first pud. In this case there won't ever be a pud
> allocated and therefore mm_inc_nr_puds() will also never be called.
>
> However when freeing the address space free_pud_range() will call
> exactly once mm_dec_nr_puds() which leads to misaccounting.
>
> Therefore call mm_inc_nr_puds() within init_new_context() to fix
> this. This is the same like we have it already for processes that run
> with two page table levels (aka compat processes).
>
> While at it also adjust the comment, since there is no "mm->nr_pmds"
> anymore.
Thanks for tracking it down.
Acked-by: Kirill A. Shutemov <kirill.shutemov@...ux.intel.com>
--
Kirill A. Shutemov
Powered by blists - more mailing lists