From: NeilBrown Date: Wed, 24 Sep 2014 01:28:32 +0000 (+1000) Subject: NFS: avoid waiting at all in nfs_release_page when congested. X-Git-Tag: fixes-for-v3.18-merge-window~10^2~3 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=353db7966288a2f18da22438aeec2b4862c0b241;p=pandora-kernel.git NFS: avoid waiting at all in nfs_release_page when congested. If nfs_release_page() is called on a sequence of pages which are all in the same file which is blocked on COMMIT, each page could contribute a 1 second delay which could be come excessive. I have seen delays of as much as 208 seconds. To keep the delay to one second, mark the bdi as write-congested if the commit didn't finished. Once it does finish, the write-congested flag will be cleared by nfs_commit_release_pages(). With this, the longest total delay in try_to_free_pages that I have seen is under 3 seconds. With no waiting in nfs_release_page at all I have seen delays of nearly 1.5 seconds. Signed-off-by: NeilBrown Acked-by: Jeff Layton Signed-off-by: Trond Myklebust --- Reading git-diff-tree failed