summaryrefslogtreecommitdiff
path: root/include/linux/compaction.h
diff options
context:
space:
mode:
authorVlastimil Babka <vbabka@suse.cz>2016-10-08 02:57:50 +0300
committerLinus Torvalds <torvalds@linux-foundation.org>2016-10-08 04:46:27 +0300
commitf2b8228c5f99a92bc07efd36f8dc840e0705a266 (patch)
tree8c419fac135a6934b8e5a48158f633477e2edd07 /include/linux/compaction.h
parenta8e025e55b35f7eaf6c6c011de1f98d47ddf0843 (diff)
downloadlinux-f2b8228c5f99a92bc07efd36f8dc840e0705a266.tar.xz
mm, compaction: use correct watermark when checking compaction success
The __compact_finished() function uses low watermark in a check that has to pass if the direct compaction is to finish and allocation should succeed. This is too pessimistic, as the allocation will typically use min watermark. It may happen that during compaction, we drop below the low watermark (due to parallel activity), but still form the target high-order page. By checking against low watermark, we might needlessly continue compaction. Similarly, __compaction_suitable() uses low watermark in a check whether allocation can succeed without compaction. Again, this is unnecessarily pessimistic. After this patch, these check will use direct compactor's alloc_flags to determine the watermark, which is effectively the min watermark. Link: http://lkml.kernel.org/r/20160810091226.6709-8-vbabka@suse.cz Signed-off-by: Vlastimil Babka <vbabka@suse.cz> Tested-by: Lorenzo Stoakes <lstoakes@gmail.com> Acked-by: Michal Hocko <mhocko@suse.com> Cc: Mel Gorman <mgorman@techsingularity.net> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> Cc: David Rientjes <rientjes@google.com> Cc: Rik van Riel <riel@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/compaction.h')
0 files changed, 0 insertions, 0 deletions