Miklos pointed out that the filesystems which set the bdi congestion
flags do gain some value from that, and simply removing the code is not
appropriate.
Specifically, readahead and/or writeback are skipped when the congestion
flags are set.
We can mostly move this skipping into the filesystem.
->readahead can do nothing if reads are congested.
->writepage and ->wrtepages can do nothing for WB_SYNC_NONE if writes
are congested.
Currently only *some* WB_SYNC_NONE writes are skipped due to congestion.
Those from sync_file_range() and those used for page migration are not.
Also, shrink_page_list() will now cause PageActive to be set if
->writepage skips due to congestion.
I don't expect these changes to be a problem, but I have no experience
to base that on.
Review/comments most welcome,
Thanks,
NeilBrown
---
NeilBrown (3):
fuse: remove reliance on bdi congestion
nfs: remove reliance on bdi congestion
ceph: remove reliance on bdi congestion
fs/ceph/addr.c | 22 +++++++++++++---------
fs/ceph/super.c | 1 +
fs/ceph/super.h | 1 +
fs/nfs/write.c | 12 ++++++++++--
include/linux/nfs_fs_sb.h | 1 +
5 files changed, 26 insertions(+), 11 deletions(-)
--
Signature