bde [Thu, 21 Mar 2002 11:33:50 +0000 (11:33 +0000)]
Removed the last vestiges of libm. These have been repo-copied to
msun/bsdsrc. Everything except true gamma() and its support functions
was superseded by msun long ago, at least on IEEE machines.
peter [Thu, 21 Mar 2002 07:41:02 +0000 (07:41 +0000)]
In UP mode, the primary cpu's per-cpu current_pmap was not initialized -
this was only done as a side effect of calling cpu_mp_start(). I haven't
actually tested that this fixes UP kernels, but it feels about right.
peter [Thu, 21 Mar 2002 06:45:32 +0000 (06:45 +0000)]
Move swapcontext.c to the ${MACHINE_ARCH}/gen/Makefile.inc area, otherwise
it causes undefined references to getcontext() and setcontext() on
platforms other than i386 and alpha.
tmm [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.
jhb [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.
jhb [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.
jhb [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.
ru [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).
dwmalone [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
obrien [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?)
arr [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 [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
ru [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.
dfr [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.