Commit 5f527c2b authored by Andrea Arcangeli's avatar Andrea Arcangeli Committed by Linus Torvalds

mm: thp: microoptimize compound_mapcount()

compound_mapcount() is only called after PageCompound() has already been
checked by the caller, so there's no point to check it again.  Gcc may
optimize it away too because it's inline but this will remove the
runtime check for sure and add it'll add an assert instead.

Link: http://lkml.kernel.org/r/1462547040-1737-3-git-send-email-aarcange@redhat.comSigned-off-by: default avatarAndrea Arcangeli <aarcange@redhat.com>
Acked-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 7b8da4c7
...@@ -475,8 +475,7 @@ static inline atomic_t *compound_mapcount_ptr(struct page *page) ...@@ -475,8 +475,7 @@ static inline atomic_t *compound_mapcount_ptr(struct page *page)
static inline int compound_mapcount(struct page *page) static inline int compound_mapcount(struct page *page)
{ {
if (!PageCompound(page)) VM_BUG_ON_PAGE(!PageCompound(page), page);
return 0;
page = compound_head(page); page = compound_head(page);
return atomic_read(compound_mapcount_ptr(page)) + 1; return atomic_read(compound_mapcount_ptr(page)) + 1;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment