mm: do not inc NR_PAGETABLE if ptlock_init failed

If ALLOC_SPLIT_PTLOCKS is defined, ptlock_init may fail, in which case we
shouldn't increment NR_PAGETABLE.

Since small allocations, such as ptlock, normally do not fail (currently
they can fail if kmemcg is used though), this patch does not really fix
anything and should be considered as a code cleanup.

Signed-off-by: Vladimir Davydov <vdavydov@virtuozzo.com>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Vladimir Davydov 2015-11-05 18:49:27 -08:00 committed by Linus Torvalds
parent 5d3875a01e
commit 706874e909

View File

@ -1606,8 +1606,10 @@ static inline void pgtable_init(void)
static inline bool pgtable_page_ctor(struct page *page) static inline bool pgtable_page_ctor(struct page *page)
{ {
if (!ptlock_init(page))
return false;
inc_zone_page_state(page, NR_PAGETABLE); inc_zone_page_state(page, NR_PAGETABLE);
return ptlock_init(page); return true;
} }
static inline void pgtable_page_dtor(struct page *page) static inline void pgtable_page_dtor(struct page *page)