• Mel Gorman's avatar
    mm, compaction: rename compact_control->rescan to finish_pageblock · 48731c84
    Mel Gorman authored
    Patch series "Fix excessive CPU usage during compaction".
    
    Commit 7efc3b72 ("mm/compaction: fix set skip in fast_find_migrateblock")
    fixed a problem where pageblocks found by fast_find_migrateblock() were
    ignored. Unfortunately there were numerous bug reports complaining about high
    CPU usage and massive stalls once 6.1 was released. Due to the severity,
    the patch was reverted by Vlastimil as a short-term fix[1] to -stable.		
    
    The underlying problem for each of the bugs is suspected to be the
    repeated scanning of the same pageblocks.  This series should guarantee
    forward progress even with commit 7efc3b72.  More information is in
    the changelog for patch 4.
    
    [1] http://lore.kernel.org/r/20230113173345.9692-1-vbabka@suse.cz
    
    
    This patch (of 4):
    
    The rescan field was not well named albeit accurate at the time.  Rename
    the field to finish_pageblock to indicate that the remainder of the
    pageblock should be scanned regardless of COMPACT_CLUSTER_MAX.  The intent
    is that pageblocks with transient failures get marked for skipping to
    avoid revisiting the same pageblock.
    
    Link: https://lkml.kernel.org/r/20230125134434.18017-2-mgorman@techsingularity.netSigned-off-by: default avatarMel Gorman <mgorman@techsingularity.net>
    Cc: Chuyi Zhou <zhouchuyi@bytedance.com>
    Cc: Jiri Slaby <jirislaby@kernel.org>
    Cc: Maxim Levitsky <mlevitsk@redhat.com>
    Cc: Michal Hocko <mhocko@kernel.org>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Pedro Falcato <pedro.falcato@gmail.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    48731c84
internal.h 27.5 KB