• M
    mm, compaction: abstract compaction feedback to helpers · cab1802b
    Michal Hocko 提交于
    Compaction can provide a wild variation of feedback to the caller.  Many
    of them are implementation specific and the caller of the compaction
    (especially the page allocator) shouldn't be bound to specifics of the
    current implementation.
    
    This patch abstracts the feedback into three basic types:
    	- compaction_made_progress - compaction was active and made some
    	  progress.
    	- compaction_failed - compaction failed and further attempts to
    	  invoke it would most probably fail and therefore it is not
    	  worth retrying
    	- compaction_withdrawn - compaction wasn't invoked for an
              implementation specific reasons. In the current implementation
              it means that the compaction was deferred, contended or the
              page scanners met too early without any progress. Retrying is
              still worthwhile.
    
    [vbabka@suse.cz: do not change thp back off behavior]
    [akpm@linux-foundation.org: fix typo in comment, per Hillf]
    Signed-off-by: NMichal Hocko <mhocko@suse.com>
    Acked-by: NHillf Danton <hillf.zj@alibaba-inc.com>
    Acked-by: NVlastimil Babka <vbabka@suse.cz>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Joonsoo Kim <js1304@gmail.com>
    Cc: Mel Gorman <mgorman@techsingularity.net>
    Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
    Cc: Vladimir Davydov <vdavydov@virtuozzo.com>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    cab1802b
compaction.h 6.2 KB