peter [Sat, 25 Oct 2003 18:51:41 +0000 (18:51 +0000)]
For the SMP case, flush the TLB at the beginning of the page zero/copy
routines. Otherwise we run into trouble with speculative tlb preloads
on SMP systems. This effectively defeats Jeff's revision 1.438
optimization (for his pentium4-M laptop) in the SMP case. It breaks
other systems, particularly athlon-MP's.
rwatson [Sat, 25 Oct 2003 16:43:50 +0000 (16:43 +0000)]
Check (locked) before performing an advisory unlock following a failure
of vn_start_write(). Otherwise, we may inconsistently attempt to release
the advisory lock.
rwatson [Sat, 25 Oct 2003 16:14:09 +0000 (16:14 +0000)]
When generate a core dump, use advisory locking in an advisory way:
if we do acquire an advisory lock, great! We'll release it later.
However, if we fail to acquire a lock, we perform the coredump
anyway. This problem became particularly visible with NFS after
the introduction of rpc.lockd: if the lock manager isn't running,
then locking calls will fail, aborting the core dump (resulting in
a zero-byte dump file).
rwatson [Sat, 25 Oct 2003 15:28:20 +0000 (15:28 +0000)]
Make MAC_EXTERNALIZE() and MAC_INTERNALIZE() simply take the object
type, rather than "object_label" as the first argument. This reduces
complexity a little for the consumer, and also makes it easier for
use to rename the underlying entry points in struct mac_policy_obj.
des [Sat, 25 Oct 2003 09:32:18 +0000 (09:32 +0000)]
- fabsl.c should be named s_fabsl.c for consistency with libmsun's
documented naming scheme (unfortunately the documentation isn't in the
tree as far as I can tell); no repocopy is required as there is no
history to preserve.
- replace simple and almost-correct implementation with slightly hackish
but definitely correct implementation (tested on i386, alpha, sparc64)
which requires pulling in fpmath.h and the MD _fpmath.h from libc.
- try not to make a mess of the Makefile in the process.
- enterprising minds are encouraged to implement more C99 long double
functions.
njl [Sat, 25 Oct 2003 05:03:25 +0000 (05:03 +0000)]
Add devctl(4) notify support to ACPI. Various subsystems now notify
userland whenever events occur. See the example in devd.conf below
to see how to use it.
imp [Sat, 25 Oct 2003 04:05:33 +0000 (04:05 +0000)]
Start to minimize diffs between vx and ep. These latter is based on a
more advanced version of the chips supported by the former. Matt Dodd
and I are working towards merging them, and this a step on that path.
anholt [Fri, 24 Oct 2003 21:45:21 +0000 (21:45 +0000)]
Don't try to use dev->dma_lock unless dma is initialized (dev->dma != NULL)
in bufs_info sysctl handler. dev->dma and dev->dma_lock existence are
protected by DRM_LOCK(). Fixes panic on sysctl hw.dri when the device is
uninitialied (when you aren't in X).
jhb [Fri, 24 Oct 2003 21:05:30 +0000 (21:05 +0000)]
- Add a DDB command 'show intrcnt' to show the non-zero interrupt counts.
- Add a DDB function to dump the contents of an ithread and optionally
details about each handler in that ithread. This function can be used
by MD code to implement DDB commands that display information about
interrupt sources and their registered handlers.
jhb [Fri, 24 Oct 2003 21:01:31 +0000 (21:01 +0000)]
- Fail to probe if acpi0 probed ok as this driver basically tries to probe
the ACPI timer and we shouldn't do that if ACPI is already around to do
that for us.
- Set a description and tweak the order of checks in the probe function
to more closely match other PCI drivers.
This should probably be moved to sys/dev/piix/piix.c at some point and
turned on for all i386 kernels rather than just SMP ones.
ume [Fri, 24 Oct 2003 18:43:24 +0000 (18:43 +0000)]
oops, revert previous change to getaddrinfo.c. This is not related
to RFC3493. The previous change was related to RFC3484 (Default
Address Selection for IPv6), and it will come later.
ume [Fri, 24 Oct 2003 18:26:30 +0000 (18:26 +0000)]
Switch Advanced Sockets API for IPv6 from RFC2292 to RFC3542
(aka RFC2292bis). Though I believe this commit doesn't break
backward compatibility againt existing binaries, it breaks
backward compatibility of API.
Now, the applications which use Advanced Sockets API such as
telnet, ping6, mld6query and traceroute6 use RFC3542 API.
simokawa [Fri, 24 Oct 2003 07:42:21 +0000 (07:42 +0000)]
Don't check timeout just after booted.
Some transactions could be considered wrongly to be timeout
bacause interrupts are disabled during boot process.
alc [Fri, 24 Oct 2003 06:43:04 +0000 (06:43 +0000)]
- Push down Giant from vm_pageout() to vm_pageout_scan(), freeing
vm_pageout_page_stats() from Giant.
- Modify vm_pager_put_pages() and vm_pager_page_unswapped() to expect the
vm object to be locked on entry. (All of the pager routines now expect
this.)
silby [Fri, 24 Oct 2003 05:44:14 +0000 (05:44 +0000)]
Reduce the number of tcp time_wait structs to maxsockets / 5; this ensures
that at most 20% of sockets can be in time_wait at one time, ensuring
that time_wait sockets do not starve real connections from inpcb
structures.
No implementation change is needed, jlemon already implemented a nice
LRU-ish algorithm for tcp_tw structure recycling.
This should reduce the need for sysadmins to lower the default msl on
busy servers.
arun [Fri, 24 Oct 2003 04:56:58 +0000 (04:56 +0000)]
Use a TR of size 1 << IA64_ID_PAGE_SHIFT instead of 16M to avoid
overlapping TR/TC entries (which results in a machine check). Note
that we don't look at the size of the memory descriptor, because
it doesn't guarantee non-overlap.
With this change, a UP kernel could boot on a Intel Tiger4 machine
with the following options:
peter [Fri, 24 Oct 2003 02:50:39 +0000 (02:50 +0000)]
Add __va_copy and make it always visible, in spite of the __ISO_C_VISIBLE
setting. Make va_copy be an alias if __ISO_C_VISIBLE >= 1999.
Why? more than a few ports have an autoconf that looks for __va_copy
because it is available on glibc. It is critical that we use it if
at all possible on amd64. It generally isn't a problem for i386 and its
ilk because autoconf driven code tends to fall back to an assignment.
anholt [Fri, 24 Oct 2003 01:48:17 +0000 (01:48 +0000)]
Update to latest from DRI CVS. Primary new feature is mostly-complete smpng
locking, and the apparently unnecessary locking for -stable has been removed.
This may fix issues with missed interrupts since April, which manifested
themselves as slowdowns or hangs in radeon, in particular. Many cleanups also
took place. In the shared code, there are improvements to r128 driver
stability.
sam [Fri, 24 Oct 2003 00:09:18 +0000 (00:09 +0000)]
o restructure initialization code so data structures are setup
when loaded as a module
o cleanup data structures on module unload when no application has
been started (i.e. kldload, kldunload w/o mrtd)
o remove extraneous unlocks immediately prior to destroying them
jhb [Thu, 23 Oct 2003 21:14:08 +0000 (21:14 +0000)]
Move the P_COWINPROGRESS flag from being a per-process p_flag to being a
per-thread td_pflag which doesn't require any locks to read or write as it
is only read or written by curthread on itself.
jhb [Thu, 23 Oct 2003 18:08:56 +0000 (18:08 +0000)]
Add simple support for AGP 3.0 including enabling 8x mode. The simple
part of the support is that it still assumes one master and one target
where as AGP 3.0 actually supports multiple devices on the bus.
Submitted by: Keith Whitwell <keith@tungstengraphics.com>
Sponsored by: The Weather Channel
trhodes [Thu, 23 Oct 2003 16:09:20 +0000 (16:09 +0000)]
Fix several old bugs which got worse over time:
o WARNS should be WARNS?= (broke in rev 1.21).
o Includes should be sorted.
o Move "mntopt.h" out of the standard includes section.
o Rewrite usage() to match the manual page and make it < 80 characters.
o Remove extra .El call on line 187. It is unused and causes mdoc(7) warnings.
imp [Thu, 23 Oct 2003 15:09:34 +0000 (15:09 +0000)]
Merge from p4 (noticed these changes with DES' if_ethersubr.c changes caused
a minor conflict):
o Use ETHER_ADDR_LEN in preference to '6'.
o Remove two unnecessary (caddr_t) casts. One of them causes problems in
my tree where etherbroadcastaddr is const, and (caddr_t) casts the const
away.
ume [Thu, 23 Oct 2003 13:55:36 +0000 (13:55 +0000)]
EAI_ADDRFAMILY and EAI_NODATA was deprecated in RFC3493
(aka RFC2553bis). Now, getaddrinfo(3) returns EAI_NONAME
instead of EAI_NODATA. Our getaddrinfo(3) nor getnameinfo(3)
didn't use EAI_ADDRFAMILY.
des [Thu, 23 Oct 2003 08:27:16 +0000 (08:27 +0000)]
Plug a memory leak in the PAM child process. It is of no great consequence
as the process is short-lived, and the leak occurs very rarely and always
shortly before the process terminates.