[PATCH] mm/hugetlb: avoid unnecessary hugetlb_acct_memory() call

From: Miaohe Lin
Date: Thu Jan 14 2021 - 06:33:01 EST


When gbl_reserve is 0, hugetlb_acct_memory() will do nothing except holding
and releasing hugetlb_lock.

Signed-off-by: Miaohe Lin <linmiaohe@xxxxxxxxxx>
---
mm/hugetlb.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 737b2dce19e6..fe2da9ad6233 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -5241,7 +5241,8 @@ long hugetlb_unreserve_pages(struct inode *inode, long start, long end,
* reservations to be released may be adjusted.
*/
gbl_reserve = hugepage_subpool_put_pages(spool, (chg - freed));
- hugetlb_acct_memory(h, -gbl_reserve);
+ if (gbl_reserve)
+ hugetlb_acct_memory(h, -gbl_reserve);

return 0;
}
--
2.19.1