summaryrefslogtreecommitdiffstats
path: root/mm/quicklist.c
diff options
context:
space:
mode:
authorMichal Hocko <mhocko@suse.com>2018-03-09 15:50:55 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2018-03-09 16:40:01 -0800
commit4704dea36dd9e5b4bf37ed20f7f15e70632ccdd0 (patch)
treebc2e74779d5e66d124804c62a4f35d806c40f2d6 /mm/quicklist.c
parent719ea86151f31f9d30dc854e028d05dc4afb3224 (diff)
downloadlinux-4704dea36dd9e5b4bf37ed20f7f15e70632ccdd0.tar.bz2
hugetlb: fix surplus pages accounting
Dan Rue has noticed that libhugetlbfs test suite fails counter test: # mount_point="/mnt/hugetlb/" # echo 200 > /proc/sys/vm/nr_hugepages # mkdir -p "${mount_point}" # mount -t hugetlbfs hugetlbfs "${mount_point}" # export LD_LIBRARY_PATH=/root/libhugetlbfs/libhugetlbfs-2.20/obj64 # /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. Link: http://lkml.kernel.org/r/20180221191439.GM2231@dhcp22.suse.cz Fixes: 0c397daea1d4 ("mm, hugetlb: further simplify hugetlb allocation API") Signed-off-by: Michal Hocko <mhocko@suse.com> 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: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/quicklist.c')
0 files changed, 0 insertions, 0 deletions