linux/fs/nfs
Peter Zijlstra c4dc4beed2 nfs: remove congestion_end()
These patches aim to improve balance_dirty_pages() and directly address three
issues:
  1) inter device starvation
  2) stacked device deadlocks
  3) inter process starvation

1 and 2 are a direct result from removing the global dirty limit and using
per device dirty limits. By giving each device its own dirty limit is will
no longer starve another device, and the cyclic dependancy on the dirty limit
is broken.

In order to efficiently distribute the dirty limit across the independant
devices a floating proportion is used, this will allocate a share of the total
limit proportional to the device's recent activity.

3 is done by also scaling the dirty limit proportional to the current task's
recent dirty rate.

This patch:

nfs: remove congestion_end().  It's redundant, clear_bdi_congested() already
wakes the waiters.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: "J. Bruce Fields" <bfields@fieldses.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-17 08:42:44 -07:00
..
callback_proc.c
callback_xdr.c
callback.c
callback.h
client.c NFS: support RDMA mounts 2007-10-09 17:18:00 -04:00
delegation.c NFSv4: Fix a typo in nfs_inode_reclaim_delegation 2007-10-11 15:11:51 -04:00
delegation.h
dir.c NFS: Add a boot parameter to disable 64 bit inode numbers 2007-10-09 17:20:52 -04:00
direct.c NFS: Remove nfs_begin_data_update/nfs_end_data_update 2007-10-09 17:19:53 -04:00
file.c nfs: convert to new aops 2007-10-16 09:42:57 -07:00
getroot.c NFS: Fix an Oops in encode_lookup() 2007-09-28 15:36:42 -07:00
idmap.c
inode.c NFS: Add a boot parameter to disable 64 bit inode numbers 2007-10-09 17:20:52 -04:00
internal.h NFS: use in-kernel mount argument structure for nfsv4 mounts 2007-10-09 17:17:28 -04:00
iostat.h
Makefile [NFS] [PATCH] nfs: tiny makefile cleanup 2007-10-09 17:15:36 -04:00
mount_clnt.c
namespace.c NFS: Fix use of cancel_delayed_work_sync in nfs_release_automount_timer 2007-09-01 10:14:36 -04:00
nfs2xdr.c SUNRPC: mark bulk read/write data in xdrbuf 2007-10-09 17:17:34 -04:00
nfs3acl.c NFS: Remove nfs_begin_data_update/nfs_end_data_update 2007-10-09 17:19:53 -04:00
nfs3proc.c NFS: Use nfs_refresh_inode() in ops that aren't expected to change the inode 2007-10-09 17:20:45 -04:00
nfs3xdr.c SUNRPC: mark bulk read/write data in xdrbuf 2007-10-09 17:17:34 -04:00
nfs4_fs.h
nfs4namespace.c
nfs4proc.c NFS: Fix a connectathon regression in NFSv3 and NFSv4 2007-10-09 17:20:47 -04:00
nfs4renewd.c NFS: Replace flush_scheduled_work with cancel_work_sync() and friends 2007-08-07 16:12:50 -04:00
nfs4state.c NFS: Replace file->private_data with calls to nfs_file_open_context() 2007-10-09 17:18:31 -04:00
nfs4xdr.c NFSv4: Make NFSv4 ACCESS calls return attributes too... 2007-10-09 17:18:38 -04:00
nfsroot.c NFS/SUNRPC: use transport protocol naming 2007-10-09 17:17:53 -04:00
pagelist.c
proc.c NFS: Fake up 'wcc' attributes to prevent cache invalidation after write 2007-10-09 17:19:15 -04:00
read.c NFS: Fix atime revalidation in read() 2007-10-09 17:19:06 -04:00
super.c NFS: Show "nointr" mount option 2007-10-09 17:18:17 -04:00
symlink.c
sysctl.c
unlink.c NFS: Remove nfs_begin_data_update/nfs_end_data_update 2007-10-09 17:19:53 -04:00
write.c nfs: remove congestion_end() 2007-10-17 08:42:44 -07:00