summaryrefslogtreecommitdiff
path: root/mm/frame_vector.c
diff options
context:
space:
mode:
authorMike Kravetz <mike.kravetz@oracle.com>2019-09-23 15:37:35 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2019-09-24 15:54:10 -0700
commitf60858f9d327c4dd0c432abe9ec943a83929c229 (patch)
tree4a85967352f557cc633fead5232cb01502a7de08 /mm/frame_vector.c
parent494330855641269c8a49f1580f0d4e2ead693245 (diff)
hugetlbfs: don't retry when pool page allocations start to fail
When allocating hugetlbfs pool pages via /proc/sys/vm/nr_hugepages, the pages will be interleaved between all nodes of the system. If nodes are not equal, it is quite possible for one node to fill up before the others. When this happens, the code still attempts to allocate pages from the full node. This results in calls to direct reclaim and compaction which slow things down considerably. When allocating pool pages, note the state of the previous allocation for each node. If previous allocation failed, do not use the aggressive retry algorithm on successive attempts. The allocation will still succeed if there is memory available, but it will not try as hard to free up memory. Link: http://lkml.kernel.org/r/20190806014744.15446-5-mike.kravetz@oracle.com Signed-off-by: Mike Kravetz <mike.kravetz@oracle.com> Acked-by: Vlastimil Babka <vbabka@suse.cz> Cc: Hillf Danton <hdanton@sina.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Mel Gorman <mgorman@suse.de> Cc: Michal Hocko <mhocko@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/frame_vector.c')
0 files changed, 0 insertions, 0 deletions