• M
    mm, compaction: update compaction_result ordering · 4f9a358c
    Michal Hocko 提交于
    compaction_result will be used as the primary feedback channel for
    compaction users.  At the same time try_to_compact_pages (and
    potentially others) assume a certain ordering where a more specific
    feedback takes precendence.
    
    This gets a bit awkward when we have conflicting feedback from different
    zones.  E.g one returing COMPACT_COMPLETE meaning the full zone has been
    scanned without any outcome while other returns with COMPACT_PARTIAL aka
    made some progress.  The caller should get COMPACT_PARTIAL because that
    means that the compaction still can make some progress.  The same
    applies for COMPACT_PARTIAL vs COMPACT_PARTIAL_SKIPPED.
    
    Reorder PARTIAL to be the largest one so the larger the value is the
    more progress we have done.
    Signed-off-by: NMichal Hocko <mhocko@suse.com>
    Acked-by: NVlastimil Babka <vbabka@suse.cz>
    Acked-by: NHillf Danton <hillf.zj@alibaba-inc.com>
    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>
    4f9a358c
compaction.h 4.2 KB