]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] nfs: fix congestion control
authorPeter Zijlstra <a.p.zijlstra@chello.nl>
Fri, 16 Mar 2007 21:38:26 +0000 (13:38 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Sat, 17 Mar 2007 02:25:05 +0000 (19:25 -0700)
commit43125ce070e04ce192dbb4af67173fab8fde01e7
treeccb21055fca86ac2657b3262ac37eb3e5c44bea0
parent993ff647f4065f7a0965cc865ad7243bcad91966
[PATCH] nfs: fix congestion control

The current NFS client congestion logic is severly broken, it marks the
backing device congested during each nfs_writepages() call but doesn't
mirror this in nfs_writepage() which makes for deadlocks.  Also it
implements its own waitqueue.

Replace this by a more regular congestion implementation that puts a cap on
the number of active writeback pages and uses the bdi congestion waitqueue.

Also always use an interruptible wait since it makes sense to be able to
SIGKILL the process even for mounts without 'intr'.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: Christoph Lameter <clameter@engr.sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/nfs/super.c
fs/nfs/sysctl.c
fs/nfs/write.c
include/linux/backing-dev.h
include/linux/nfs_fs.h
include/linux/nfs_fs_sb.h
mm/backing-dev.c