freebsd-dev/contrib
Kirk McKusick 224a6aa241 Severe slowdowns have been reported when creating or removing many
files at once on a filesystem running soft updates. The root of
the problem is that soft updates limits the amount of memory that
may be allocated to dependency structures so as to avoid hogging
kernel memory. The original algorithm just waited for the disk I/O
to catch up and reduce the number of dependencies. This new code
takes a much more aggressive approach. Basically there are two
resources that routinely hit the limit. Inode dependencies during
periods with a high file creation rate and file and block removal
dependencies during periods with a high file removal rate. I have
attacked these problems from two fronts. When the inode dependency
limits are reached, I pick a random inode dependency, UFS_UPDATE
it together with all the other dirty inodes contained within its
disk block and then write that disk block. This trick usually
clears 5-50 inode dependencies in a single disk I/O. For block and
file removal dependencies, I pick a random directory page that has
at least one remove pending and VOP_FSYNC its directory. That
releases all its removal dependencies to the work queue. To further
hasten things along, I also immediately start the work queue process
rather than waiting for its next one second scheduled run.
1999-05-07 02:26:47 +00:00
..
amd Fix ufs mounting support 1999-02-13 11:06:20 +00:00
awk Fixed one typo ("[[=e]]" -> "[[=e=]]") and two occurences of whitespace 1999-04-10 20:42:06 +00:00
bc s/the the/to the/ 1998-09-17 08:56:03 +00:00
bind .sp -> .Pp 1999-04-10 20:38:17 +00:00
binutils The maximum pagesize for alpha is 64k, not 1Mb. 1999-05-02 12:02:55 +00:00
bison Fixed (1970's/old-GNU style) a missing declaration of a function that 1998-06-30 19:19:10 +00:00
cpio Fixed printf format errors. 1998-06-30 19:53:09 +00:00
cvs Zap files not in cvs-1.10 1999-04-05 06:36:11 +00:00
diff Some FreeBSD files to add... 1997-10-30 19:35:17 +00:00
gcc Turn DEFAULT_VTABLE_THUNKS back on. It caused problems with undefined symbols 1999-04-30 19:12:51 +00:00
gdb GC some unused files from gdb and add them to the exclude list for future 1999-05-03 20:50:12 +00:00
global Merge from verdor branch (v_3_4_2) and remove obsolete files. 1999-01-18 07:32:38 +00:00
gperf NetBSD has sys_errlist in errno.h, not stdio.h like FreeBSD. 1998-01-09 20:02:20 +00:00
groff Fix conflicts. 1999-03-15 09:18:28 +00:00
ipfilter ipfstat is now in section 8 of the manual. 1999-04-10 20:30:29 +00:00
isc-dhcp Fix spelling and typos. 1999-05-06 12:17:58 +00:00
libgmp This commit was generated by cvs2svn to compensate for changes in r44365, 1999-03-01 06:27:31 +00:00
libpam Make it possible to use PAM in statically-linked applications. 1999-01-20 21:55:30 +00:00
libpcap Merge libpcap version 0.4 1998-09-15 19:31:43 +00:00
libreadline Hopefully fix behaviour of libreadline when prompt is longer than 1998-05-24 13:06:38 +00:00
nvi Fixed printf format errors. 1999-04-03 06:58:32 +00:00
opie sprintf -> snprintf 1998-09-09 17:08:46 +00:00
patch Remove library funcs we already have 1998-01-04 20:45:41 +00:00
perl5 Merge conflicts. More elegant improvements will follow in a couple 1999-05-02 15:18:32 +00:00
pnpinfo Uninitialized variable. Do not assume certain endianess. 1999-05-04 16:59:42 +00:00
sendmail Remove the standalone buildtools stuff, we don't use it here and it 1999-02-07 09:45:12 +00:00
sys/softupdates Severe slowdowns have been reported when creating or removing many 1999-05-07 02:26:47 +00:00
tcp_wrappers Since our inetd wrapped now, treat all its services as tcpd-prefixed 1999-04-03 04:02:29 +00:00
tcpdump World, I'd like you to meet the first FreeBSD token Ring driver. 1999-02-20 11:18:00 +00:00
telnet MF libexec/telnetd: Determine the host name using an array size of 1999-04-08 21:39:34 +00:00
texinfo Restored rev.1.2, which was clobbered by rev.1.4 (don't print "Making 1999-03-02 13:04:00 +00:00
top uptime display more in style with original code 1999-01-09 20:25:02 +00:00
traceroute Add the capability for traceroute(8) to send packets of any IP protocol 1999-05-06 03:23:24 +00:00