• NeilBrown's avatar
    fuse: remove reliance on bdi congestion · 670d21c6
    NeilBrown authored
    The bdi congestion tracking in not widely used and will be removed.
    
    Fuse is one of a small number of filesystems that uses it, setting both
    the sync (read) and async (write) congestion flags at what it determines
    are appropriate times.
    
    The only remaining effect of the sync flag is to cause read-ahead to be
    skipped.  The only remaining effect of the async flag is to cause (some)
    WB_SYNC_NONE writes to be skipped.
    
    So instead of setting the flags, change:
    
     - .readahead to stop when it has submitted all non-async pages for
       read.
    
     - .writepages to do nothing if WB_SYNC_NONE and the flag would be set
    
     - .writepage to return AOP_WRITEPAGE_ACTIVATE if WB_SYNC_NONE and the
       flag would be set.
    
    The writepages change causes a behavioural change in that pageout() can
    now return PAGE_ACTIVATE instead of PAGE_KEEP, so SetPageActive() will be
    called on the page which (I think) will further delay the next attempt at
    writeout.  This might be a good thing.
    
    Link: https://lkml.kernel.org/r/164549983737.9187.2627117501000365074.stgit@noble.brownSigned-off-by: default avatarNeilBrown <neilb@suse.de>
    Cc: Anna Schumaker <Anna.Schumaker@Netapp.com>
    Cc: Chao Yu <chao@kernel.org>
    Cc: Darrick J. Wong <djwong@kernel.org>
    Cc: Ilya Dryomov <idryomov@gmail.com>
    Cc: Jaegeuk Kim <jaegeuk@kernel.org>
    Cc: Jan Kara <jack@suse.cz>
    Cc: Jeff Layton <jlayton@kernel.org>
    Cc: Jens Axboe <axboe@kernel.dk>
    Cc: Lars Ellenberg <lars.ellenberg@linbit.com>
    Cc: Miklos Szeredi <miklos@szeredi.hu>
    Cc: Paolo Valente <paolo.valente@linaro.org>
    Cc: Philipp Reisner <philipp.reisner@linbit.com>
    Cc: Ryusuke Konishi <konishi.ryusuke@gmail.com>
    Cc: Trond Myklebust <trond.myklebust@hammerspace.com>
    Cc: Wu Fengguang <fengguang.wu@intel.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    670d21c6
dev.c 52 KB