linux/fs
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
..
9p 9PFS: clean up explicit check for mandatory locks 2007-10-09 18:32:46 -04:00
adfs fs: adfs convert to new aops 2007-10-16 09:42:57 -07:00
affs fs: affs convert to new aops 2007-10-16 09:42:58 -07:00
afs Merge branch 'locks' of git://linux-nfs.org/~bfields/linux 2007-10-15 16:07:40 -07:00
autofs
autofs4
befs
bfs bfs: convert to new aops 2007-10-16 09:42:56 -07:00
cifs
coda
configfs implement simple fs aops 2007-10-16 09:42:55 -07:00
cramfs
debugfs docbook: fix filesystems content 2007-10-15 17:56:36 -07:00
devpts
dlm Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2007-10-12 15:49:37 -07:00
ecryptfs ecryptfs: clean up page flag handling 2007-10-16 09:43:12 -07:00
efs
exportfs
ext2 fs: restore nobh 2007-10-16 09:42:58 -07:00
ext3 ext3: convert to new aops 2007-10-16 09:42:55 -07:00
ext4 ext4: convert to new aops 2007-10-16 09:42:55 -07:00
fat fat: convert to new aops 2007-10-16 09:42:55 -07:00
freevxfs
fuse fuse: convert to new aops 2007-10-16 09:42:57 -07:00
gfs2 gfs2: convert to new aops 2007-10-16 09:42:55 -07:00
hfs hfs: convert to new aops 2007-10-16 09:42:56 -07:00
hfsplus hfsplus: convert to new aops 2007-10-16 09:42:56 -07:00
hostfs uml: fix hostfs style 2007-10-16 09:43:07 -07:00
hpfs hpfs: convert to new aops 2007-10-16 09:42:56 -07:00
hppfs
hugetlbfs hugetlbfs read() support 2007-10-16 09:43:03 -07:00
isofs
jbd Group short-lived and reclaimable kernel allocations 2007-10-16 09:43:00 -07:00
jbd2
jffs2 jffs2: convert to new aops 2007-10-16 09:42:57 -07:00
jfs fs: restore nobh 2007-10-16 09:42:58 -07:00
lockd NFS/SUNRPC: use transport protocol naming 2007-10-09 17:17:53 -04:00
minix minixfs: convert to new aops 2007-10-16 09:42:57 -07:00
msdos
ncpfs
nfs nfs: remove congestion_end() 2007-10-17 08:42:44 -07:00
nfs_common
nfsd fs/nfsd/export.c: make 3 functions static 2007-10-16 09:43:10 -07:00
nls
ntfs NTFS: Fix a mount time deadlock. 2007-10-12 09:16:30 -07:00
ocfs2 ocfs2: convert to new aops 2007-10-16 09:42:58 -07:00
openpromfs
partitions fs/partitions/sun.c endianness annotations 2007-10-14 12:41:51 -07:00
proc Print out statistics in relation to fragmentation avoidance to /proc/pagetypeinfo 2007-10-16 09:43:00 -07:00
qnx4 qnx4: convert to new aops 2007-10-16 09:42:56 -07:00
ramfs implement simple fs aops 2007-10-16 09:42:55 -07:00
reiserfs reiserfs: use generic_cont_expand_simple 2007-10-16 09:42:56 -07:00
romfs
smbfs smbfs: convert to new aops 2007-10-16 09:42:57 -07:00
sysfs partially fix up the lookup_one_noperm mess 2007-10-17 08:42:44 -07:00
sysv sysv: convert to new aops 2007-10-16 09:42:57 -07:00
udf udf: convert to new aops 2007-10-16 09:42:57 -07:00
ufs ufs: convert to new aops 2007-10-16 09:42:57 -07:00
vfat
xfs xfs: convert to new aops 2007-10-16 09:42:55 -07:00
aio.c AIO: fix cleanup in io_submit_one(...) 2007-10-08 12:58:14 -07:00
anon_inodes.c
attr.c
bad_inode.c
binfmt_aout.c
binfmt_elf_fdpic.c x86: replace NT_PRXFPREG with ELF_CORE_XFPREG_TYPE #define 2007-10-17 08:42:44 -07:00
binfmt_elf.c x86: replace NT_PRXFPREG with ELF_CORE_XFPREG_TYPE #define 2007-10-17 08:42:44 -07:00
binfmt_em86.c
binfmt_flat.c binfmt_flat: checkpatch fixing minimum support for the blackfin relocations 2007-10-03 23:43:57 +08:00
binfmt_misc.c
binfmt_script.c
binfmt_som.c
bio.c bio: make freeing of ->bi_io_vec conditional in bio_free() 2007-10-16 11:03:52 +02:00
block_dev.c block_dev: convert to new aops 2007-10-16 09:42:55 -07:00
buffer.c Group short-lived and reclaimable kernel allocations 2007-10-16 09:43:00 -07:00
char_dev.c
compat_ioctl.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2007-10-11 19:40:14 -07:00
compat.c
dcache.c Group short-lived and reclaimable kernel allocations 2007-10-16 09:43:00 -07:00
dcookies.c
direct-io.c remove ZERO_PAGE 2007-10-16 09:42:53 -07:00
dnotify.c
dquot.c
drop_caches.c
eventfd.c
eventpoll.c
exec.c signalfd simplification 2007-09-20 13:19:59 -07:00
fcntl.c
fifo.c
file_table.c
file.c
filesystems.c
fs-writeback.c Fix warnings with !CONFIG_BLOCK 2007-10-10 09:25:57 +02:00
generic_acl.c
inode.c lockdep: fixup the inode dir annotation 2007-10-16 10:01:50 -07:00
inotify_user.c
inotify.c
internal.h
ioctl.c
ioprio.c
Kconfig Merge git://git.linux-nfs.org/pub/linux/nfs-2.6 2007-10-15 10:47:35 -07:00
Kconfig.binfmt
libfs.c fs: introduce write_begin, write_end, and perform_write aops 2007-10-16 09:42:55 -07:00
locks.c Rework /proc/locks via seq_files and seq_list helpers 2007-10-09 18:32:46 -04:00
Makefile
mbcache.c
mpage.c mm: buffered write cleanup 2007-10-16 09:42:54 -07:00
namei.c partially fix up the lookup_one_noperm mess 2007-10-17 08:42:44 -07:00
namespace.c
nfsctl.c
no-block.c
open.c SELinux: Improve read/write performance 2007-10-17 08:59:31 +10:00
pipe.c sched: affine sync wakeups 2007-10-15 17:00:19 +02:00
pnode.c
pnode.h
posix_acl.c
quota_v1.c
quota_v2.c
quota.c
read_write.c Cleanup macros for distinguishing mandatory locks 2007-10-09 18:32:46 -04:00
read_write.h
readdir.c
select.c
seq_file.c [FS] seq_file: Introduce the seq_open_private() 2007-10-10 16:55:33 -07:00
signalfd.c signalfd simplification 2007-09-20 13:19:59 -07:00
splice.c Merge branch 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block 2007-10-16 10:09:16 -07:00
stack.c
stat.c
super.c
sync.c
timerfd.c
utimes.c
xattr_acl.c
xattr.c