From: Michal Hocko <mhocko@kernel.org> To: Andrew Morton <akpm@linux-foundation.org> Cc: Dan Rue <dan.rue@linaro.org>, linux-mm@kvack.org, Mike Kravetz <mike.kravetz@oracle.com>, Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>, LKML <linux-kernel@vger.kernel.org> Subject: [PATCH] hugetlb: fix surplus pages accounting Date: Wed, 21 Feb 2018 20:14:39 +0100 [thread overview] Message-ID: <20180221191439.GM2231@dhcp22.suse.cz> (raw) In-Reply-To: <20180221042457.uolmhlmv5je5dqx7@xps> OK, so here we go with the fix. >From bc55c70ca2325f3305a80cfca5731f9550205589 Mon Sep 17 00:00:00 2001 From: Michal Hocko <mhocko@suse.com> Date: Wed, 21 Feb 2018 19:47:33 +0100 Subject: [PATCH] hugetlb: fix surplus pages accounting Dan Rue has noticed that libhugetlbfs test suite fails counter test: root@localhost:~# mount_point="/mnt/hugetlb/" root@localhost:~# echo 200 > /proc/sys/vm/nr_hugepages root@localhost:~# mkdir -p "${mount_point}" root@localhost:~# mount -t hugetlbfs hugetlbfs "${mount_point}" root@localhost:~# export LD_LIBRARY_PATH=/root/libhugetlbfs/libhugetlbfs-2.20/obj64 root@localhost:~# /root/libhugetlbfs/libhugetlbfs-2.20/tests/obj64/counters Starting testcase "/root/libhugetlbfs/libhugetlbfs-2.20/tests/obj64/counters", pid 3319 Base pool size: 0 Clean... FAIL Line 326: Bad HugePages_Total: expected 0, actual 1 The bug was bisected to 0c397daea1d4 ("mm, hugetlb: further simplify hugetlb allocation API"). The reason is that alloc_surplus_huge_page misaccounts per node surplus pages. We should increase surplus_huge_pages_node rather than nr_huge_pages_node which is already handled by alloc_fresh_huge_page. Fixes: 0c397daea1d4 ("mm, hugetlb: further simplify hugetlb allocation API") Reported-by: Dan Rue <dan.rue@linaro.org> Tested-by: Dan Rue <dan.rue@linaro.org> Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com> Signed-off-by: Michal Hocko <mhocko@suse.com> --- mm/hugetlb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 7c204e3d132b..a963f2034dfc 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -1583,7 +1583,7 @@ static struct page *alloc_surplus_huge_page(struct hstate *h, gfp_t gfp_mask, page = NULL; } else { h->surplus_huge_pages++; - h->nr_huge_pages_node[page_to_nid(page)]++; + h->surplus_huge_pages_node[page_to_nid(page)]++; } out_unlock: -- 2.16.1 -- Michal Hocko SUSE Labs
WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@kernel.org> To: Andrew Morton <akpm@linux-foundation.org> Cc: Dan Rue <dan.rue@linaro.org>, linux-mm@kvack.org, Mike Kravetz <mike.kravetz@oracle.com>, Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>, LKML <linux-kernel@vger.kernel.org> Subject: [PATCH] hugetlb: fix surplus pages accounting Date: Wed, 21 Feb 2018 20:14:39 +0100 [thread overview] Message-ID: <20180221191439.GM2231@dhcp22.suse.cz> (raw) In-Reply-To: <20180221042457.uolmhlmv5je5dqx7@xps> OK, so here we go with the fix.
next prev parent reply other threads:[~2018-02-21 19:14 UTC|newest] Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-01-03 9:32 [PATCH 0/6] mm, hugetlb: allocation API and migration improvements Michal Hocko 2018-01-03 9:32 ` Michal Hocko 2018-01-03 9:32 ` [PATCH 1/6] mm, hugetlb: unify core page allocation accounting and initialization Michal Hocko 2018-01-03 9:32 ` Michal Hocko 2018-01-03 9:32 ` [PATCH 2/6] mm, hugetlb: integrate giga hugetlb more naturally to the allocation path Michal Hocko 2018-01-03 9:32 ` Michal Hocko 2018-01-03 9:32 ` [PATCH 3/6] mm, hugetlb: do not rely on overcommit limit during migration Michal Hocko 2018-01-03 9:32 ` Michal Hocko 2018-01-03 9:32 ` [PATCH 4/6] mm, hugetlb: get rid of surplus page accounting tricks Michal Hocko 2018-01-03 9:32 ` Michal Hocko 2018-01-03 9:32 ` [PATCH 5/6] mm, hugetlb: further simplify hugetlb allocation API Michal Hocko 2018-01-03 9:32 ` Michal Hocko 2018-02-21 4:24 ` Dan Rue 2018-02-21 4:24 ` Dan Rue 2018-02-21 9:55 ` Michal Hocko 2018-02-21 9:55 ` Michal Hocko 2018-02-21 10:01 ` Michal Hocko 2018-02-21 10:01 ` Michal Hocko 2018-02-21 16:19 ` Dan Rue 2018-02-21 16:19 ` Dan Rue 2018-02-21 18:52 ` Michal Hocko 2018-02-21 18:52 ` Michal Hocko 2018-02-21 19:05 ` Dan Rue 2018-02-21 19:05 ` Dan Rue 2018-02-21 17:59 ` Mike Kravetz 2018-02-21 17:59 ` Mike Kravetz 2018-02-21 18:54 ` Michal Hocko 2018-02-21 18:54 ` Michal Hocko 2018-02-21 19:14 ` Michal Hocko [this message] 2018-02-21 19:14 ` [PATCH] hugetlb: fix surplus pages accounting Michal Hocko 2018-01-03 9:32 ` [PATCH 6/6] hugetlb, mempolicy: fix the mbind hugetlb migration Michal Hocko 2018-01-03 9:32 ` Michal Hocko 2018-01-04 0:05 ` [PATCH 0/6] mm, hugetlb: allocation API and migration improvements Andrew Morton 2018-01-04 0:05 ` Andrew Morton 2018-01-04 7:32 ` Michal Hocko 2018-01-04 7:32 ` Michal Hocko
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20180221191439.GM2231@dhcp22.suse.cz \ --to=mhocko@kernel.org \ --cc=akpm@linux-foundation.org \ --cc=dan.rue@linaro.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mike.kravetz@oracle.com \ --cc=n-horiguchi@ah.jp.nec.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.