• Mel Gorman's avatar
    mm/vmscan: centralise timeout values for reclaim_throttle · c3f4a9a2
    Mel Gorman authored
    Neil Brown raised concerns about callers of reclaim_throttle specifying
    a timeout value.  The original timeout values to congestion_wait() were
    probably pulled out of thin air or copy&pasted from somewhere else.
    This patch centralises the timeout values and selects a timeout based on
    the reason for reclaim throttling.  These figures are also pulled out of
    the same thin air but better values may be derived
    
    Running a workload that is throttling for inappropriate periods and
    tracing mm_vmscan_throttled can be used to pick a more appropriate
    value.  Excessive throttling would pick a lower timeout where as
    excessive CPU usage in reclaim context would select a larger timeout.
    Ideally a large value would always be used and the wakeups would occur
    before a timeout but that requires careful testing.
    
    Link: https://lkml.kernel.org/r/20211022144651.19914-7-mgorman@techsingularity.netSigned-off-by: default avatarMel Gorman <mgorman@techsingularity.net>
    Acked-by: default avatarVlastimil Babka <vbabka@suse.cz>
    Cc: Andreas Dilger <adilger.kernel@dilger.ca>
    Cc: "Darrick J . Wong" <djwong@kernel.org>
    Cc: Dave Chinner <david@fromorbit.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Matthew Wilcox <willy@infradead.org>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: NeilBrown <neilb@suse.de>
    Cc: Rik van Riel <riel@surriel.com>
    Cc: "Theodore Ts'o" <tytso@mit.edu>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    c3f4a9a2
page-writeback.c 86.9 KB