summaryrefslogtreecommitdiffstats
path: root/fs/buffer.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2014-06-04 16:07:42 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2014-06-04 16:54:01 -0700
commit399ba0b95670c70aaaa3f4f1623ea9e76c391681 (patch)
tree6db21b9d0b97a6015654f6806eb4101c61ea949d /fs/buffer.c
parent11de9927f9dd3cb0a0f18064fa4b6976fc37e79c (diff)
downloadlinux-stable-399ba0b95670c70aaaa3f4f1623ea9e76c391681.tar.gz
linux-stable-399ba0b95670c70aaaa3f4f1623ea9e76c391681.tar.bz2
linux-stable-399ba0b95670c70aaaa3f4f1623ea9e76c391681.zip
mm/vmscan.c: avoid throttling reclaim for loop-back nfsd threads
When a loopback NFS mount is active and the backing device for the NFS mount becomes congested, that can impose throttling delays on the nfsd threads. These delays significantly reduce throughput and so the NFS mount remains congested. This results in a livelock and the reduced throughput persists. This livelock has been found in testing with the 'wait_iff_congested' call, and could possibly be caused by the 'congestion_wait' call. This livelock is similar to the deadlock which justified the introduction of PF_LESS_THROTTLE, and the same flag can be used to remove this livelock. To minimise the impact of the change, we still throttle nfsd when the filesystem it is writing to is congested, but not when some separate filesystem (e.g. the NFS filesystem) is congested. Signed-off-by: NeilBrown <neilb@suse.de> Cc: Mel Gorman <mel@csn.ul.ie> Cc: Johannes Weiner <hannes@cmpxchg.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/buffer.c')
0 files changed, 0 insertions, 0 deletions