freebsd-skq/sbin
phk 0f56e66e2f Fix a long-standing deadlock issue with vnode backed md(4) devices:
On vnode backed md(4) devices over a certain, currently undetermined
size relative to the buffer cache our "lemming-syncer" can provoke
a buffer starvation which puts the md thread to sleep on wdrain.

This generally tends to grind the entire system to a stop because the
event that is supposed to wake up the thread will not happen until a fair
bit of the piled up I/O requests in the system finish, and since a lot
of those are on a md(4) vnode backed device which is currently waiting
on wdrain until a fair amount of the piled up ... you get the picture.

The cure is to issue all VOP_WRITES on the vnode backing the device
with IO_SYNC.

In addition to more closely emulating a real disk device with a
non-lying write-cache, this makes the writes exempt from rate-limited
(there to avoid starving the buffer cache) and consequently prevents
the deadlock.

Unfortunately performance takes a hit.

Add "async" option to give people who know what they are doing the
old behaviour.
2004-03-10 20:41:09 +00:00
..
adjkerntz
atacontrol Cosmetics 2004-01-21 21:31:19 +00:00
atm Make NULL a (void*)0 whereever possible, and fix the warnings(-Werror) 2004-03-05 08:10:19 +00:00
badsect
bsdlabel '-DPC98' is not needed. 2004-01-11 09:11:10 +00:00
camcontrol Fix a couple of camcontrol issues that popped up on sparc64: 2004-03-03 01:51:24 +00:00
ccdconfig Try to catch up with device name changes due to GEOM'ification. Remove 2003-12-08 10:50:36 +00:00
clri
comcontrol /etc/rc.serial -> /etc/rc.d/serial. 2003-12-23 07:16:38 +00:00
conscontrol Explain what console names are valid. 2004-02-17 04:53:47 +00:00
devd
devfs Userland signed char fixes for PPC build. Problems were using a char 2004-01-22 07:23:36 +00:00
dhclient style.Makefile(5): 2004-02-23 20:25:27 +00:00
dmesg Further simplify the code for printing the message buffer: 2004-02-08 23:08:53 +00:00
dump Add RSH to the list of enviroment variables. 2004-01-15 12:13:54 +00:00
dumpfs Reinstate 1.40 -- swap avgfilesize and avgfpdir column order. 2003-12-07 05:27:27 +00:00
dumpon style.Makefile(5): 2004-02-23 20:25:27 +00:00
fdisk style.Makefile(5): 2004-02-23 20:25:27 +00:00
fdisk_pc98 style.Makefile(5): 2004-02-23 20:25:27 +00:00
ffsinfo Clarify behaviour of ffsinfo: It appends to outfile without 2004-01-23 05:13:22 +00:00
fsck Use __printflike() and __dead2 instead of hard-coded gccisms. 2003-12-27 13:54:02 +00:00
fsck_ffs In the case of a background fsck, periodically update the process title 2004-02-28 07:50:42 +00:00
fsck_msdosfs style.Makefile(5): 2004-02-23 20:25:27 +00:00
fsdb Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
fsirand style.Makefile(5): 2004-02-23 20:25:27 +00:00
gbde Fix the last and most important bit of the test case to test the same 2004-02-07 22:58:39 +00:00
gconcat Make libgeom usable by C++ programs: 2004-03-09 21:14:18 +00:00
gpt style.Makefile(5): 2004-02-23 20:25:27 +00:00
growfs Fix bogus "ffsinfo -c 0" example with "ffsinfo -g 0 -l 4". 2004-01-23 17:35:09 +00:00
idmapd style.Makefile(5): 2004-02-23 20:25:27 +00:00
ifconfig Fixed a misspelling of 0 as NULL. 2004-03-10 08:46:39 +00:00
init style.Makefile(5): 2004-02-23 20:25:27 +00:00
ip6fw Make this WARNS=2 clean by: 2004-03-03 20:21:15 +00:00
ipf style.Makefile(5): 2004-02-23 20:25:27 +00:00
ipfs style.Makefile(5): 2004-02-23 20:25:27 +00:00
ipfstat style.Makefile(5): 2004-02-23 20:25:27 +00:00
ipfw o Pass a correct argument to errx(3). 2004-01-24 19:20:09 +00:00
ipmon style.Makefile(5): 2004-02-23 20:25:27 +00:00
ipnat style.Makefile(5): 2004-02-23 20:25:27 +00:00
kldconfig Make NULL a (void*)0 whereever possible, and fix the warnings(-Werror) 2004-03-05 08:10:19 +00:00
kldload
kldstat
kldunload
ldconfig style.Makefile(5): 2004-02-23 20:25:27 +00:00
mca style.Makefile(5): 2004-02-23 20:25:27 +00:00
md5 Fixed style of DPADD and LDADD assignments as per style.Makefile(5). 2004-02-05 22:44:25 +00:00
mdconfig Fix a long-standing deadlock issue with vnode backed md(4) devices: 2004-03-10 20:41:09 +00:00
mdmfs Add a "-l" parameter to mdmfs so that memory file systems can be 2004-02-26 01:15:47 +00:00
mknod style.Makefile(5): 2004-02-23 20:25:27 +00:00
mksnap_ffs Style nit in previous commit. 2004-01-27 19:28:13 +00:00
mount s/considred/considered/ 2004-03-04 00:52:16 +00:00
mount_cd9660 style.Makefile(5): 2004-02-23 20:25:27 +00:00
mount_ext2fs Support mounting ext2fs file systems with -async to the small extent 2004-02-15 06:31:26 +00:00
mount_hpfs style.Makefile(5): 2004-02-23 20:25:27 +00:00
mount_msdosfs Make msdosfs long filenames matching case insensitive again. 2003-12-08 08:32:20 +00:00
mount_nfs style.Makefile(5): 2004-02-23 20:25:27 +00:00
mount_nfs4 style.Makefile(5): 2004-02-23 20:25:27 +00:00
mount_ntfs style.Makefile(5): 2004-02-23 20:25:27 +00:00
mount_nullfs style.Makefile(5): 2004-02-23 20:25:27 +00:00
mount_std style.Makefile(5): 2004-02-23 20:25:27 +00:00
mount_udf style.Makefile(5): 2004-02-23 20:25:27 +00:00
mount_umapfs style.Makefile(5): 2004-02-23 20:25:27 +00:00
mount_unionfs style.Makefile(5): 2004-02-23 20:25:27 +00:00
natd style.Makefile(5): 2004-02-23 20:25:27 +00:00
newfs Add a "-l" flag to newfs, which sets the FS_MULTILABEL flag. This 2004-02-26 01:14:27 +00:00
newfs_msdos style.Makefile(5): 2004-02-23 20:25:27 +00:00
nfsiod
nologin Report login attempts to syslog. Due to the statically-linked nature of 2004-02-22 10:03:24 +00:00
nos-tun style.Makefile(5): 2004-02-23 20:25:27 +00:00
pfctl Add skeleton build dirs for pf userland: 2004-02-28 21:50:50 +00:00
pflogd Add skeleton build dirs for pf userland: 2004-02-28 21:50:50 +00:00
ping style.Makefile(5): 2004-02-23 20:25:27 +00:00
ping6 style.Makefile(5): 2004-02-23 20:25:27 +00:00
quotacheck style.Makefile(5): 2004-02-23 20:25:27 +00:00
raidctl Make NULL a (void*)0 whereever possible, and fix the warnings(-Werror) 2004-03-05 08:10:19 +00:00
rcorder style.Makefile(5): 2004-02-23 20:25:27 +00:00
reboot
restore style.Makefile(5): 2004-02-23 20:25:27 +00:00
route style.Makefile(5): 2004-02-23 20:25:27 +00:00
routed Sync HEAD sources to vendor branch import of routed v2.27 from rhyolite.com. 2004-02-25 23:45:57 +00:00
rtsol style.Makefile(5): 2004-02-23 20:25:27 +00:00
savecore o Remove obsoleted '-N' and '-d' flags. 2004-02-28 10:42:27 +00:00
sconfig Mark this manpage as i386-only. 2004-01-21 13:24:38 +00:00
setkey Initial import of RFC 2385 (TCP-MD5) digest support. 2004-02-11 04:34:34 +00:00
shutdown
slattach style.Makefile(5): 2004-02-23 20:25:27 +00:00
spppcontrol
startslip style.Makefile(5): 2004-02-23 20:25:27 +00:00
sunlabel Spell "disklabel" correctly. 2004-02-01 13:09:26 +00:00
swapon Make NULL a (void*)0 whereever possible, and fix the warnings(-Werror) 2004-03-05 08:10:19 +00:00
sysctl Add CTLTYPE_QUAD to the list of types for which we don't want an empty 2004-03-02 05:42:52 +00:00
tunefs
umount s/considred/considered/ 2004-03-04 00:52:16 +00:00
vinum style.Makefile(5): 2004-02-23 20:25:27 +00:00
Makefile Link pf to the build and install: 2004-03-08 22:03:29 +00:00
Makefile.inc