linux/Documentation/trace
David Rientjes 5ecd9d403a mm, page_alloc: wakeup kcompactd even if kswapd cannot free more memory
Kswapd will not wakeup if per-zone watermarks are not failing or if too
many previous attempts at background reclaim have failed.

This can be true if there is a lot of free memory available.  For high-
order allocations, kswapd is responsible for waking up kcompactd for
background compaction.  If the zone is not below its watermarks or
reclaim has recently failed (lots of free memory, nothing left to
reclaim), kcompactd does not get woken up.

When __GFP_DIRECT_RECLAIM is not allowed, allow kcompactd to still be
woken up even if kswapd will not reclaim.  This allows high-order
allocations, such as thp, to still trigger background compaction even
when the zone has an abundance of free memory.

Link: http://lkml.kernel.org/r/alpine.DEB.2.20.1803111659420.209721@chino.kir.corp.google.com
Signed-off-by: David Rientjes <rientjes@google.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Mel Gorman <mgorman@techsingularity.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-04-05 21:36:27 -07:00
..
postprocess mm, page_alloc: wakeup kcompactd even if kswapd cannot free more memory 2018-04-05 21:36:27 -07:00
coresight-cpu-debug.txt doc: coresight: correct usage for disabling idle states 2017-10-20 15:03:06 +02:00
coresight.txt coresight: Update documentation for perf usage 2018-02-16 14:55:46 -03:00
events-kmem.rst trace doc: convert trace/events-kmem.txt to rst format 2018-03-07 10:25:54 -07:00
events-msr.rst trace doc: convert trace/events-msr.txt to rst format 2018-03-07 10:26:06 -07:00
events-nmi.rst trace doc: convert trace/events-nmi.txt to rst format 2018-03-07 10:26:02 -07:00
events-power.rst trace doc: convert trace/events-power.txt to rst format 2018-03-07 10:25:59 -07:00
events.rst docs: ftrace: fix a few formatting issues 2018-03-07 10:44:08 -07:00
ftrace-design.rst trace doc: convert trace/ftrace-design.txt to rst format 2018-03-07 10:22:57 -07:00
ftrace-uses.rst trace doc: add ftrace-uses.rst to doc tree 2018-03-07 10:23:01 -07:00
ftrace.rst Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-04-04 14:50:29 -07:00
function-graph-fold.vim tracing: Add vim script to enable folding for function_graph traces 2009-08-26 00:32:04 -04:00
hwlat_detector.rst trace doc: convert trace/hwlat_detector.txt to rst fromat 2018-03-07 10:26:14 -07:00
index.rst trace doc: convert trace/stm.txt to rst format 2018-03-07 10:26:22 -07:00
intel_th.rst trace doc: convert trace/intel_th.txt to rst format 2018-03-07 10:26:18 -07:00
kprobetrace.rst trace doc: convert trace/kprobetrace.txt to rst format 2018-03-07 10:23:15 -07:00
mmiotrace.rst trace doc: convert trace/mmiotrace.txt to rst format 2018-03-07 10:26:10 -07:00
ring-buffer-design.txt doc: fix double words 2014-03-21 13:16:58 +01:00
stm.rst trace doc: convert trace/stm.txt to rst format 2018-03-07 10:26:22 -07:00
tracepoint-analysis.rst trace doc: convert trace/tracepoint-analysis.txt to rst format 2018-03-07 10:23:06 -07:00
tracepoints.rst trace doc: convert trace/tracepoints.txt to rst format 2018-03-07 10:23:23 -07:00
uprobetracer.rst trace doc: convert trace/uprobetracer.txt to rst format 2018-03-07 10:23:19 -07:00