mirror of https://gitee.com/openkylin/linux.git
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.com Signed-off-by: Andrea Arcangeli <aarcange@redhat.com> Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Cc: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
7b8da4c7f0
commit
5f527c2b3e
|
@ -475,8 +475,7 @@ static inline atomic_t *compound_mapcount_ptr(struct page *page)
|
|||
|
||||
static inline int compound_mapcount(struct page *page)
|
||||
{
|
||||
if (!PageCompound(page))
|
||||
return 0;
|
||||
VM_BUG_ON_PAGE(!PageCompound(page), page);
|
||||
page = compound_head(page);
|
||||
return atomic_read(compound_mapcount_ptr(page)) + 1;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue