[PATCH] nfs: fix congestion control
Peter Zijlstra authored

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: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: default avatarTrond Myklebust <trond.myklebust@fys.uio.no>
Cc: Christoph Lameter <clameter@engr.sgi.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
89a09141
Name Last commit Last update
..
acpi Pull bugzilla-7887 into release branch
asm-alpha [PATCH] consolidate line discipline number definitions
asm-arm [PATCH] gpio_direction_output() needs an initial value
asm-arm26 Storage class should be before const qualifier
asm-avr32 [PATCH] gpio_direction_output() needs an initial value
asm-cris [PATCH] consolidate line discipline number definitions
asm-frv [PATCH] FRV: Add some missng lazy MMU hooks for NOMMU mode
asm-generic Revert "[PATCH] LOG2: Alter get_order() so that it can make use of ilog2() on a constant"
asm-h8300 [PATCH] consolidate line discipline number definitions
asm-i386 Disable NMI watchdog by default properly
asm-ia64 [IA64] Remove sparse warning from unwind code
asm-m32r [PATCH] m32r dma-mapping.h should simply include generic/dma-mapping-broken.h
asm-m68k [PATCH] m68k dma-mapping: gfp_t annotations
asm-m68knommu [PATCH] m68knommu: GPIO line defines for the ColdFire 5282
asm-mips [MIPS] Sibyte: Fix ZBbus profiler
asm-parisc Merge master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6
asm-powerpc [PATCH] ANSIfy powerpc floppy.h
asm-ppc [POWERPC] ppc: Add support for AMCC Taishan 440GX eval board
asm-s390 [S390] check_bugs() should be inline.
asm-sh sh: Revert lazy dcache writeback changes.
asm-sh64 [PATCH] consolidate line discipline number definitions
asm-sparc [PATCH] sparc: have dma-mapping.h include generic/dma-mapping-broken in non-PCI case
asm-sparc64 [SPARC]: Hook up missing syscalls.
asm-um [PATCH] uml: pte_mkread fix
asm-v850 [PATCH] consolidate line discipline number definitions
asm-x86_64
asm-xtensa
crypto
keys
linux
math-emu
media
mtd
net
pcmcia
rdma
rxrpc
scsi
sound
video
Kbuild