freebsd-nq/sys
Doug Rabson f31dba4c5d This fixes a problem with the nfs socket handling code which happens
if a single process is performing a large number of requests (in this
case writing a large file).  The writing process could monopolise the
recieve lock and prevent any other processes from recieving their
replies.

It also adds a new sysctl variable 'vfs.nfs.dwrite' which controls the
behaviour which originally pointed out the problem.  When a process
writes to a file over NFS, it usually arranges for another process
(the 'iod') to perform the request.  If no iods are available, then it
turns the write into a 'delayed write' which is later picked up by the
next iod to do a write request for that file.  This can cause that
particular iod to do a disproportionate number of requests from a
single process which can harm performance on some NFS servers.  The
alternative is to perform the write synchronously in the context of
the original writing process if no iod is avaiable for asynchronous
writing.

The 'delayed write' behaviour is selected when vfs.nfs.dwrite=1 and
the non-delayed behaviour is selected when vfs.nfs.dwrite=0.  The
default is vfs.nfs.dwrite=1; if many people tell me that performance
is better if vfs.nfs.dwrite=0 then I will change the default.

Submitted by:	Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
1996-10-11 10:15:33 +00:00
..
alpha Fix a couble of nasties regarding mouse pointer and different 1996-09-30 23:00:58 +00:00
amd64 Don't include "opt_cpu.h" in <machine/clock.h>, since this breaks lkm's. 1996-10-10 10:25:26 +00:00
compat/linux Changed type of ni_dirp in struct namei' from caddr_t to const char *' 1996-09-03 23:17:15 +00:00
compile
conf Added a bdev and cdev for "geometry disk", my generic disk geometry subsystem. 1996-10-10 20:41:13 +00:00
ddb Attached vm ddb commands show map', show vmochk', `show object', 1996-09-14 11:54:59 +00:00
dev Implement the 802.3 MIB in a way that uses the generic interface 1996-10-10 19:44:10 +00:00
fs Substitution of a long divide by a shift. Other cosmetic improvements. 1996-10-06 21:19:33 +00:00
geom Remove devconf, it never grew up to be of any use. 1996-09-06 23:09:20 +00:00
gnu Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
i386 Added a bdev and cdev for "geometry disk", my generic disk geometry subsystem. 1996-10-10 20:41:13 +00:00
isa Put I*86_CPU defines in opt_cpu.h. 1996-10-09 19:47:44 +00:00
isofs/cd9660 Whoops, I should've used the LINT config file. More ts -> tv changes 1996-09-20 05:51:12 +00:00
kern Mostly some fixes from bde to start support for ASYNC I/O (SIGIO). 1996-10-11 02:27:30 +00:00
libkern add simple srandom() and prototype 1996-09-23 04:31:43 +00:00
miscfs Substitution of a long divide by a shift. Other cosmetic improvements. 1996-10-06 21:19:33 +00:00
modules delete unused variable BINDIR, use new variable MODLOAD/MODUNLOAD 1996-10-06 22:17:16 +00:00
msdosfs MSDOS FS used to allocate a buffer before extending the VM object. In 1996-10-02 05:01:17 +00:00
net Get rid of obsolete RTF_MASK and RTF_CHAINDELETE flags. 1996-10-09 18:35:10 +00:00
netatalk bzero the entire at_ifaddr struct we malloc, not just the first part of it.. 1996-09-11 09:38:52 +00:00
netinet All three files: make COMPAT_IPFW==0 case work again. 1996-10-07 19:21:46 +00:00
netipx Accept odd length ipx packets. (Win95 and some dialup servers use it.) 1996-08-18 08:38:15 +00:00
netkey
netns
nfs This fixes a problem with the nfs socket handling code which happens 1996-10-11 10:15:33 +00:00
nfsclient This fixes a problem with the nfs socket handling code which happens 1996-10-11 10:15:33 +00:00
nfsserver This fixes a problem with the nfs socket handling code which happens 1996-10-11 10:15:33 +00:00
pc98 Another round of updates. Highlights: 1996-10-09 21:47:16 +00:00
pccard Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
pci Implement the 802.3 MIB in a way that uses the generic interface 1996-10-10 19:44:10 +00:00
powerpc/include
rpc
scsi Try number two. Add missing paren in MSG_IDENTIFY macro. 1996-10-07 03:53:43 +00:00
sys Fixed the wrong include file for a "prototype mismatch" error between 1996-10-08 01:38:36 +00:00
tools
ufs Don't include <sys/conf.h> for the kernel in disk-related headers. 1996-09-20 17:39:44 +00:00
vm Make the default cache size optim to be 256K, the old default was 1996-10-06 22:26:13 +00:00
Makefile