Thomas Moestl [Wed, 20 Mar 2002 21:14:00 +0000 (21:14 +0000)]
Add 6 models which have been successfully booted into multi-user mode
(Ultra 1, Ultra 30, Netra t1, Enterprise 220R, Enterprise 250 and
Enterprise 450R).
Thanks go to the following people for giving us access to their machines
or repeatedly testing kernels (in alphabetical order): Tim G. Børresen,
Jan Chrillesen, mux, phk and Tomi Vainio.
John Baldwin [Wed, 20 Mar 2002 21:12:04 +0000 (21:12 +0000)]
Change the way we ensure td_ucred is NULL if DIAGNOSTIC is defined.
Instead of caching the ucred reference, just go ahead and eat the
decerement and increment of the refcount. Now that Giant is pushed down
into crfree(), we no longer have to get Giant in the common case. In the
case when we are actually free'ing the ucred, we would normally free it on
the next kernel entry, so the cost there is not new, just in a different
place. This also removse td_cache_ucred from struct thread. This is
still only done #ifdef DIAGNOSTIC.
John Baldwin [Wed, 20 Mar 2002 21:09:09 +0000 (21:09 +0000)]
Change the way we ensure td_ucred is NULL if DIAGNOSTIC is defined.
Instead of caching the ucred reference, just go ahead and eat the
decerement and increment of the refcount. Now that Giant is pushed down
into crfree(), we no longer have to get Giant in the common case. In the
case when we are actually free'ing the ucred, we would normally free it on
the next kernel entry, so the cost there is not new, just in a different
place. This also removse td_cache_ucred from struct thread. This is
still only done #ifdef DIAGNOSTIC.
John Baldwin [Wed, 20 Mar 2002 21:00:50 +0000 (21:00 +0000)]
- Push down Giant into crfree() in the case that we actually free a ucred.
- Add a cred_free_thread() function (conditional on DIAGNOSTICS) that drops
a per-thread ucred reference to be used in debugging code when leaving
the kernel.
Ruslan Ermilov [Wed, 20 Mar 2002 18:25:50 +0000 (18:25 +0000)]
Make lint(1) a cross-tool.
(See commit log for usr.bin/xlint/Makefile,v 1.11 for what was wrong
with enabling build of lint libraries in rev. 1.12.)
This fixes cross-arch compiles (running binaries for a different arch
when generating lint.7 and lint libraries) and cross-branch compiles
(4.x -> 5.0 buildworld should be working again).
David Malone [Wed, 20 Mar 2002 17:58:02 +0000 (17:58 +0000)]
Two minor changes to dirhash, which result in some marginal benchmark
improvements.
1) If deleting an entry results in a chain of deleted slots ending in an
empty slot, then we can be a bit more aggressive about marking slots as
empty.
2) The last stage of the FNV hash is to xor the last byte of data
into the hash. This means that filenames which differ only in
the last byte will be placed close to one another in the hash
table, which forms longer chains. To work around this common
case, we also hash in the address of the dirhash structure.
news/cancel = news/articles/control/cancel for a tradspool inn server
squid2 = squid level 2 directory (dirs called 00->FF)
squid3 = squid level 3 directory (files called 00001F00->00001FFF)
mean #probes for
home dir mh inbox news/cancel tmp squid2 squid3
old successful 1.02 3.19 4.07 1.10 7.85 2.06
new successful 1.04 1.32 1.27 1.04 1.93 1.17
old unsuccessful 1.08 4.50 5.37 1.17 10.76 2.69
new unsuccessful 1.08 1.73 1.64 1.17 2.89 1.37
David E. O'Brien [Wed, 20 Mar 2002 17:55:10 +0000 (17:55 +0000)]
Remove 'register' keyword.
It does not help modern compilers, and some may take some hit from it.
(I also found several functions that listed *every* of its 10 local vars with
"register" -- just how many free registers do people think machines have?)
Andrew R. Reiter [Wed, 20 Mar 2002 16:03:42 +0000 (16:03 +0000)]
- Change a check of securelevel to securelevel_gt() call in order to help
against users within a jail attempting to load kernel modules.
- Add a check of securelevel_gt() to vfs_mount() in order to chop some
low hanging fruit for the repair of securelevel checking of linking and
unlinking files from within jails. There is more to be done here.
Orion Hodson [Wed, 20 Mar 2002 15:56:36 +0000 (15:56 +0000)]
Send periodic ARP requests when ARP entries for hosts we are sending
to are about to expire. This prevents high packet rate flows from
experiencing packet drops at the sender following ARP cache entry
timeout.
PR: kern/25517
Reviewed by: luigi
MFC after: 7 days
Ruslan Ermilov [Wed, 20 Mar 2002 13:40:08 +0000 (13:40 +0000)]
mdoc(7) police: Fixed the spammage of this file with trailing whitespaces
in revisions 1.26-1.28. Fixed two bugs in punctuation cleanup in rev. 1.27.
Removed hard sentence break not killed by rev. 1.26.
Doug Rabson [Wed, 20 Mar 2002 10:04:08 +0000 (10:04 +0000)]
Replace calls to cpu_critical_enter/exit with appropriate calls to
either explicitly disable interrupts or use a real critical section,
as appropriate.
Darren Reed [Wed, 20 Mar 2002 08:57:10 +0000 (08:57 +0000)]
* ipftest now compiles with IPFILTER_LOG and needs ip_log.c to be able to
do the log regression test.
* dumping state/nat entries is also possible, outputting this information is
in the print{state,nat}.c files.
Various style issues from a recent brucification:
use uint_%dt not u_int%dt
Avoid LL suffixed intergers where we can by using explicit casts.
(The last two I don't know how to avoid.)
Add an explanation why truncation rather than rounding is used.
Matthew Dillon [Wed, 20 Mar 2002 04:05:26 +0000 (04:05 +0000)]
Fix a bug introduced in 1.11 (and also MFCd to stable AND the security branch)
that causes a machine to panic when the kernel PPP / DEFLATE code is used.
1.11 moved a ZFREE to a point after the structural members were clobbered
by stores into a union'd structure.
This commit fixes the bug and adds a big whopping comment to make sure
the code isn't 'cleaned up' again :-)
Ian Dowse came up with the same patch independantly 68 seconds before I
did, talk about Karma!
I would also like to thank Eugene Grosbein for marathon work in tracking the
problem down by udpating his -stable based on date over and over again
to close in on the commit that caused his crashes.
PR: kern/35969
Reviewed by: Ian Dowse <iedowse@maths.tcd.ie>
X-MFC after: immediately
Robert Watson [Wed, 20 Mar 2002 02:34:01 +0000 (02:34 +0000)]
Teach growfs's dbg_open() that a filename of "-" for output means to
open "/dev/stdout". This doesn't actually affect growfs, but does affect
ffsinfo, permitting ffsinfo to output to the shell's stdout rather than
requiring it be dumped to a file or explicitly pointed at a special
device.
Jeff Roberson [Wed, 20 Mar 2002 02:27:55 +0000 (02:27 +0000)]
Force the boot cpu to wait for the APs to finish starting up. This eliminates
a race where the AP and the boot cpu were trying to printf at the same time,
which was confusing the console too much for it to continue working.
Daniel Eischen [Tue, 19 Mar 2002 22:58:56 +0000 (22:58 +0000)]
Add the ability to recognize old references to keys, and return NULL
when old keys are referenced (after pthread_key_delete()) via
pthread_getspecific().