Commit Graph

106591 Commits

Author SHA1 Message Date
rwatson
30590c8eea Always acquire the UNIX domain socket subsystem lock (UNP lock)
before dereferencing sotounpcb() and checking its value, as so_pcb
is protected by protocol locking, not subsystem locking.  This
prevents races during close() by one thread and use of ths socket
in another.

unp_bind() now assert the UNP lock, and uipc_bind() now acquires
the lock around calls to unp_bind().
2004-08-16 04:41:03 +00:00
davidxu
6ffe73af20 1. Use libpthread's exported symbols to calcuate offset in data structure
2. Enable TLS debugger support.
2004-08-16 03:30:16 +00:00
davidxu
870954220b 1. Add macro DTV_OFFSET to calculate dtv offset in tcb.
2. Export symbols needed by debugger.
2004-08-16 03:27:29 +00:00
davidxu
15d054f7e4 Add a file to collection all symbols will be needed by debugger. 2004-08-16 03:25:07 +00:00
marius
6974223b26 As with the non-rescue version don't build fore_dnld when NOATM is defined. 2004-08-16 03:16:48 +00:00
bmah
43b841f9a5 Fix installing from SCSI tape drives by catching up device names with
reality.

PR:		70279
Submitted by:	Gavin Atkinson <gavin.atkinson@ury.york.ac.uk>
2004-08-16 03:13:12 +00:00
green
4338f0aac0 Remove the BUGS entry for vslock(9) not actually holding user memory in place. 2004-08-16 03:12:10 +00:00
green
b36ab789a0 Rather than bringing back all of the changes to make VM map deletion
wait for system wires to disappear, do so (much more trivially) by
instead only checking for system wires of user maps and not kernel maps.

Alternative by:	tor
Reviewed by:	alc
2004-08-16 03:11:09 +00:00
green
b36814d27b Add the missing knote_fdclose(). 2004-08-16 03:09:01 +00:00
green
e86f9fe060 Allocate the marker, when scanning a kqueue, from the "heap" instead of the
stack.  When swapped out, a process's kernel stack would be unavailable,
and we could get a page fault when scanning the same kqueue.

PR:	kern/61849
2004-08-16 03:08:38 +00:00
imp
cb8639f942 Didn't intend to commit debugging code enabled 2004-08-16 01:57:06 +00:00
rwatson
78728ce513 Annotate the current UNIX domain socket locking strategies, order,
strengths, and weaknesses in a comment.  Assert a copyright over the
changes made as part of the locking work.
2004-08-16 01:52:04 +00:00
bmah
3f9150854c Various updates for installation documentation. Most notably:
o Update to match 5-CURRENT reality.
o Bump up minimum system requirements.
o Make examples work.

PR:		docs/70485
Submitted by:	Gavin Atkinson <gavin.atkinson@ury.york.ac.uk>
2004-08-16 01:42:43 +00:00
silby
84d222f0c0 Major enhancements to pipe memory usage:
- pipespace is now able to resize non-empty pipes; this allows
  for many more resizing opportunities

- Backing is no longer pre-allocated for the reverse direction
  of pipes.  This direction is rarely (if ever) used, so this cuts the
  amount of map space allocated to a pipe in half.

- Pipe growth is now much more dynamic; a pipe will now grow when
  the total amount of data it contains and the size of the write are
  larger than the size of pipe.  Previously, only individual writes greater
  than the size of the pipe would cause growth.

- In low memory situations, pipes will now shrink during both read
  and write operations, where possible.  Once the memory shortage
  ends, the growth code will cause these pipes to grow back to an appropriate
  size.

- If the full PIPE_SIZE allocation fails when a new pipe is created, the
  allocation will be retried with SMALL_PIPE_SIZE.  This helps to deal
  with the situation of a fragmented map after a low memory period has
  ended.

- Minor documentation + code changes to support the above.

In total, these changes increase the total number of pipes that
can be allocated simultaneously, drastically reducing the chances that
pipe allocation will fail.

Performance appears unchanged due to dynamic resizing.
2004-08-16 01:27:24 +00:00
mbr
ad3f8fefa5 MFNetBSD
Decrease log severity to debug if a protocol is not supported by the
kernel (rpcbind checks /etc/netconfig if a protocol is available).
This avoids "rpcbind: cannot create socket for tcp6" messages
at startup on IPv4-only kernels.
2004-08-16 00:20:31 +00:00
njl
bfd36d7253 Comment out the ability to enable/disable ACPI at runtime. This appears
to not work reliably and crash some systems.  It is not supported at all
on others.  Pending discussion, the underlying ioctls will be removed.
2004-08-15 23:39:37 +00:00
imp
51b8f7abc5 Tweak the compatibility macros a little so that the device printing is
moved into them.
2004-08-15 23:39:18 +00:00
mbr
ee29adfdaf Resolve conflicts from dhclient 3.0.1 final import.
No functional changes in this import.
2004-08-15 23:37:10 +00:00
mbr
f84803b430 This commit was generated by cvs2svn to compensate for changes in r133783,
which included commits to RCS files with non-trunk default branches.
2004-08-15 23:33:13 +00:00
mbr
8ac20c1e5c Import ISC DHCP 3.0.1 client. 2004-08-15 23:33:13 +00:00
imp
1d7308529b Other part of the cbb isa/pci split. This likely is causing problems
wrt cbb module.
2004-08-15 23:17:54 +00:00
marius
1a2ef5fe9e Add a kludge for building SBus-only kernels, i.e. kernels without support
for EBus, ISA and PCI, by compiling ofw_isa.c and ofw_pci_if.m unconditio-
nally. The correct way is to rewrite OF_decode_addr() in ofw_machdep.c in
a bus-neutral way. That's certainly possible but we unfortunately didn't
make it for FreeBSD 5.3.

Approved by:	tmm
2004-08-15 22:59:34 +00:00
simon
a1d910bc39 - Handle the '\&' mdoc(7) escape sequence.
- Handle the .Sx macro and give a warning if it is used in the
  HARDWARE section, since that will probably produce odd text in the
  Hardware Notes.
2004-08-15 22:33:10 +00:00
des
36074a2786 Fix a couple of edge cases in which sb.st_size may be incorrect or
meaningless.  In particular, don't assume that it is left untouched if
stat(2) fails; that assumption happens to fail at high optimization
levels on some platforms.

MFC after:	1 week
2004-08-15 22:22:35 +00:00
simon
f5d814652f - Auto generate device listings for the following drivers: mpt, trm,
rl, vr, dc, de, and gem.
- hme(4) is not sparc64 only anymore, so update dev.archlist.txt
  acordingly.
2004-08-15 22:14:29 +00:00
simon
e0bf0e556a - Add a HARDWARE section which lists supported devices.
- Fix a few mdoc(7) markup / style nits when I'm here anyway.
2004-08-15 21:59:15 +00:00
des
34490ce873 Release the vnode cache mutex when calling vgone(), since vgone() may
sleep.  This makes pfs_exit() even less efficient than before, but on
the bright side, the vnode cache mutex no longer needs to be recursive.
2004-08-15 21:58:02 +00:00
dfr
ba80c52dc3 Add rtld-elf to the include path for the rtld to pthread TLS interface. 2004-08-15 21:51:18 +00:00
marius
a060332270 Correct some uses of the wrong members of the *min()/*max()-familiy, e.g.
min() on unsigned long. None of these are believed to have been fatal though.

Reviewed by:	tmm
2004-08-15 21:37:52 +00:00
simon
31b45a4cf9 Bump document date for last commit. 2004-08-15 21:02:48 +00:00
alc
8bb2b246f5 - Make pmap_emulate_reference() MP and preemption safe. Previously, it
contained "sanity" checks that could be violated if another CPU modified
   the pmap between the emulation trap and locking the pmap in
   pmap_emulate_reference().  As a result, the pte could be inconsistent
   with the access that caused the emulation trap.  In such cases,
   pmap_emulate_reference() now flushes the current CPU's TLB entry and
   returns.
 - Make pmap_changebit() an inline function, reducing object code size.
2004-08-15 20:54:25 +00:00
simon
c55183c517 - Add a HARDWARE section which lists supported devices.
- Add the manufacturer name to each item in the device list.
- Make the note about supporting "IBM e335" into a general list and
  change the entry to use the full product name ("IBM eServer xSeries
  335").
- Add Dell PowerEdge 1750 to the list of systems with mpt onboard.
2004-08-15 20:54:07 +00:00
rwatson
03c4549826 Preemptive anti-footshooting: cause a #error if MP_WATCHDOG is compiled
with SCHED_ULE.
2004-08-15 20:32:40 +00:00
marius
ca05d80f37 Shorten the description of NO_OPENSSL, which was split into two lines by a
patch of mine in revision 1.216, a bit so it fits in a single line again.
2004-08-15 20:32:06 +00:00
marius
296e0567d5 Save on one variable in ofwo_action(). Leftover from an older version of
this function which needed the handle of the /options node more than once.
2004-08-15 20:18:54 +00:00
marius
c255b3bdec - Correct the description of the "local-mac-address?" variable. Not all NICs
use it, only those with FCode. Add references to dc(4), gem(4) and hme(4)
  for obtaining further information about such devices presently supported
  by FreeBSD.
- Correct the HISTORY section. There was an eeprom(8) utility in 4.4BSD and
  early versions of FreeBSD 2.x.
- Add an AUTHORS section.
2004-08-15 20:17:29 +00:00
rwatson
fba8c013d7 Spell MP_WATCHDIG right: I fixed the build without MP_WATCHDOG after
testing MP_WATCHDOG, and used an incorrect ifdef.
2004-08-15 19:57:14 +00:00
simon
6767410d15 Change the HARDWARE section to have the same style as in the other
FreeBSD section 4 manual pages.
2004-08-15 19:48:27 +00:00
rwatson
921d441b53 Add a useful snippet on limitations of inductive reasoning by Bertrand
Russell.
2004-08-15 19:24:17 +00:00
truckman
b4a2d9977d Yet another tweak to the shutdown messages in boot():
Don't count busy buffers before the initial call to sync() and
  don't skip the initial sync() if no busy buffers were called.
  Always call sync() at least once if syncing is requested.  This
  defers the "Syncing disks, buffers remaining..." message until
  after the initial sync() call and the first count of busy
  buffers.  This backs out changes in kern_shutdown 1.162.

  Print a different message when there are no busy buffers after the
  initial sync(), which is now the expected situation.

  Print an additional message when syncing has completed successfully
  in the unusual situation where the work of syncing was done by
  boot().

  Uppercase one message to make it consistent with all of the other
  kernel shutdown messages.

Discussed with:	bde (in a much earlier form, prior to 1.162)
Reviewed by:	njl (in an earlier form)
2004-08-15 19:17:23 +00:00
rwatson
8005f2ce83 Add a "fillchar" command line argument to dd(1) that permits the user
to specify an alternative padding character when using a conversion
mode, or when using noerror with sync and an input error occurs.  This
facilities reading old and error-prone media by allowing the user to
more effectively mark error blocks in the output stream.
2004-08-15 19:10:05 +00:00
simon
5b15202572 - Add a HARDWARE section which lists supported devices. 2004-08-15 18:13:08 +00:00
simon
46bc4f13ba - Add a HARDWARE section which lists supported devices.
- Remove reference to the NOTES section in the entry for Sun DMFE,
  since ot doesn't work well with the auto generated Hardware Notes. [1]

OK'ed by:	marius [1]
2004-08-15 18:09:47 +00:00
rwatson
c5ef0f3d4d Add an "options MP_WATCHDOG" to i386. This option allows one of the
logical CPUs on a system to be used as a dedicated watchdog to cause a
drop to the debugger and/or generate an NMI to the boot processor if
the kernel ceases to respond.  A sysctl enables the watchdog running
out of the processor's idle thread; a callout is launched to reset a
timer in the watchdog.  If the callout fails to reset the timer for ten
seconds, the watchdog will fire.  The sysctl allows you to select which
CPU will run the watchdog.

A sample "debug.leak_schedlock" is included, which causes a sysctl to
spin holding sched_lock in order to trigger the watchdog.  On my Xeons,
the watchdog is able to detect this failure mode and break into the
debugger, which cannot otherwise be done without an NMI button.

This option does not currently work with sched_ule due to ule's push
notion of scheduling, similar to machdep.hlt_logical_cpus failing to
work with that scheduler.

On face value, this might seem somewhat inefficient, but there are a
lot of dual-processor Xeons with HTT around, so using one as a watchdog
for testing is not as inefficient as one might fear.
2004-08-15 18:02:09 +00:00
simon
ceeeb7386d - Make the naming of AMCC's 3ware cards consistent with the current
naming from AMCC.
- Update the list of devices supported by the drivers.

All of the above is based on information from AMCC via vkashyap.
2004-08-15 17:40:06 +00:00
maxim
1093fa26bf o Document net.inet.ip.random_id sysctl.
Reviewed by:	dwmalone, ru
2004-08-15 17:32:31 +00:00
dfr
e082c758ec Add TLS support for i386 and amd64. 2004-08-15 16:28:05 +00:00
dfr
fb318ab4c6 Add TLS support for libthr on i386. 2004-08-15 16:21:30 +00:00
dfr
1f27cc995a Add support for TLS in statically linked programs. 2004-08-15 16:18:52 +00:00
jmg
fe0ccb008c move the declaration of struct kqlist into the non-KERNEL visable section
to fix userland.
2004-08-15 15:36:18 +00:00