88922 Commits

Author SHA1 Message Date
jhb
18f0a39a3f Lock the proc to check p_flag and several other related tests in
vm_daemon().  We don't need to hold sched_lock as long now as a result.
2003-04-22 20:03:08 +00:00
jhb
d5cf4c5275 Prefer the proc lock to sched_lock when testing PS_INMEM now that it is
safe to do so.
2003-04-22 20:01:56 +00:00
jhb
82ad2123a7 - Always call faultin() in _PHOLD() if PS_INMEM is clear. This closes a
race where a thread could assume that a process was swapped in by
  PHOLD() when it actually wasn't fully swapped in yet.
- In faultin(), always msleep() if PS_SWAPPINGIN is set instead of doing
  this check after bumping p_lock in the PS_INMEM == 0 case.  Also,
  sched_lock is only needed for setting and clearning swapping PS_*
  flags and the swap thread inhibitor.
- Don't set and clear the thread swap inhibitor in the same loops as the
  pmap_swapin/out_thread() since we have to do it under sched_lock.
  Instead, mimic the treatment of the PS_INMEM flag and use separate loops
  to set the inhibitors when clearing PS_INMEM and clear the inhibitors
  when setting PS_INMEM.
- swapout() now returns with the proc lock held as it holds the lock
  while adjusting the swapping-related PS_* flags so that the proc lock
  can be used to test those flags.
- Only use the proc lock to check the swapping-related PS_* flags in
  several places.
- faultin() no longer requires sched_lock to be held by callers.
- Rename PS_SWAPPING to PS_SWAPPINGOUT to be less ambiguous now that we
  have PS_SWAPPINGIN.
2003-04-22 20:00:26 +00:00
johan
3cd76cb1f7 Make this WARNS=2 clean by using %j and (uintmax_t).
Reviewed by:	tjr@ on audit@
Approved by:	silence from sos@
2003-04-22 19:57:46 +00:00
jhb
8c172a3498 Protect p_swtime with the sched_lock. 2003-04-22 19:48:25 +00:00
jhb
cfedd4c7d6 - Mark the kse_purge_group() and kse_purge() definitions static to match
their prototypes.
- Remove sched_lock locking from kse_purge() as all callers already lock
  the sched_lock before calling it.
- Hold the proc lock slightly longer to protect P_SHOULDSTOP().
2003-04-22 19:47:55 +00:00
jhb
1fb058ce86 Keep the proc locked while we set PS_INMEM so that either of the proc lock
or sched_lock are sufficient to test this flag.

XXX: vinum should really be using a kernel process via kthread_create()
instead of this hack.  I'm not even sure PS_INMEM can be clear at this
point anyways.
2003-04-22 19:45:26 +00:00
phk
817cb6ca1f Collapse meta arguments into regular arguments, the distinction is
more trouble than it is worth.
2003-04-22 19:42:05 +00:00
phk
aba647cbf4 Collapse the meta arguments into normal arguments, trying to distinguish
just makes our own life harder.
2003-04-22 19:31:00 +00:00
trhodes
c74c9e9b4c Use .Pa for the pccard_ether file.
s/spppconfig/spppcontrol/

Submitted by:	"Simon L. Nielsen" <simon@nitro.dk>
2003-04-22 18:53:14 +00:00
jhb
146e8aecec - Replace inline implementations of sigprocmask() with calls to
kern_sigprocmask() in the various binary compatibility emulators.
- Replace calls to sigsuspend(), sigaltstack(), sigaction(), and
  sigprocmask() that used the stackgap with calls to the corresponding
  kern_sig*() functions instead without using the stackgap.
2003-04-22 18:23:49 +00:00
trhodes
8a97197e8f Catch this file up with ufs/ffs/fs.h.
PR:		51189
Submitted by:	Lukas Ertl <l.ertl@univie.ac.at>
2003-04-22 18:20:44 +00:00
alc
eb6d5ae625 Revision 1.246 should have also included
- Weaken the assertion in vm_page_insert() to require Giant only if the
   vm_object isn't locked.

Reported by:	 "Ilmar S. Habibulin" <ilmar@watson.org>
2003-04-22 14:26:02 +00:00
ru
2788f60153 chdir(1) into a source directory before attempting to determine the
OBJS list.  This is needed to crunch any program that relies on the
correct .CURDIR setting, e.g. src/bin/csh.

Submitted by:	Tim Kientzle <kientzle@acm.org>
2003-04-22 14:01:33 +00:00
mike
4447272524 IP addresses can be up to 15 characters long, not 12.
PR:     50904
2003-04-22 13:24:56 +00:00
nyan
0157864ca9 Comment out firewire devices. 2003-04-22 12:14:19 +00:00
ru
2230610831 Axe CXXINCLUDES from CXXFLAGS, it serves no useful purpose anymore.
Reviewed by:	bde
2003-04-22 11:04:25 +00:00
grog
b8d210102a Add Vladimir Ulyanov's birthday.
Reminded by: joerg (born 92 years later, to the day).
2003-04-22 10:33:43 +00:00
ru
b2e978843e Bump document date for previous revision.
Fix list type.
2003-04-22 09:39:10 +00:00
davidxu
0a01dd83c5 Move down intr level testing code a bit, cpu_switch_load_gs fault can be at
interrupt nested time.
2003-04-22 08:12:03 +00:00
simokawa
80dc2cd82d add FireWire drivers. 2003-04-22 07:57:20 +00:00
davidxu
d0165cba28 Fix some problems for cpu_switch_load_gs. when fault address is at
cpu_switch_load_gs, cpu is in context switch, so don't enable interrupt.
because it is in context switch, it is expected sched_lock was held,
so don't PROC_LOCK(p) and psignal, it is LOR, probably we can
set a P_XSIGBUS like flag in p_sflags, and set TDF_ASTPENDING in
td_flags, in ast(), post a SIGBUS to process if P_XSIGBUS was set.
2003-04-22 07:45:47 +00:00
alc
b78fdbef61 Remove unused declarations. 2003-04-22 06:26:42 +00:00
alc
3b5c40ed83 Revision 1.52 of vm/uma_core.c has led to UMA's obj_alloc() being
called without Giant; and obj_alloc() in turn calls vm_page_alloc()
without Giant.  This causes an assertion failure in vm_page_alloc().
Fortunately, obj_alloc() is now MPSAFE.  So, we need only clean up
some assertions.

 - Weaken the assertion in vm_page_lookup() to require Giant only
   if the vm_object isn't locked.
 - Remove an assertion from vm_page_alloc() that duplicates a check
   performed in vm_page_lookup().

In collaboration with:	gallatin, jake, jeff
2003-04-22 05:36:14 +00:00
phk
d20f3763cb Fix compilation errors.
I wonder how I managed to cross-compile this yesterday.
2003-04-22 05:34:35 +00:00
dougb
632a97ab8a FreeBSD has no systrace(1), and our rc.subr does not support it.
Submitted by:	Simon L. Nielsen <simon@nitro.dk>
2003-04-22 05:13:55 +00:00
alc
ec81329f32 Add VM_OBJECT_LOCKED(). 2003-04-22 04:47:29 +00:00
simokawa
ef1f3b42fa add scbus for FireWire. 2003-04-22 04:39:20 +00:00
imp
823ba059c1 Document device_set_driver(9)
# now all driver_* functions used outside of subr_bus.o in my kernel
# are documented.
2003-04-22 03:43:44 +00:00
imp
b126d5fd0e Document device_printf(9). 2003-04-22 03:32:31 +00:00
imp
8515f23dc5 Document device_set_ivars(9) as well. 2003-04-22 03:25:14 +00:00
davidxu
4f1ed41d01 Remove single threading detecting code, these code really should be
replaced by thread_user_enter(), but current we don't want to enable
this in trap.
2003-04-22 03:17:41 +00:00
simokawa
bedf79949f Set the local bus address in xfer->dst.
Submitted by: Buzz Slye <buzz@gaia.arc.nasa.gov>
2003-04-22 02:31:31 +00:00
marcel
bbf5306d5f Don't use the tpa instruction to implement pmap_kextract. The tpa
instruction requires that a translation is present in the TC. This
may trigger a TLB miss and a subsequent call to vm_fault().
This implementation is deliberately non-inline for debugging and
profiling purposes. Partial or full inlining should eventually be
done.

Valuable insights by: jake
2003-04-22 01:48:43 +00:00
imp
eea2b01ecc man page for device_get_parent. 2003-04-22 00:26:02 +00:00
imp
197d721da8 device_is_alive already was documented in device_get_state, so remove the
separate man page.  Document new device_is_attached there and remove that
new man page too.

Connect device_get_name to build, and install a link for
device_get_nameunit.

strangely nobody noticed this yet...
2003-04-22 00:21:28 +00:00
imp
10965d5bdd Add man page for device_get_name and device_get_nameunit. 2003-04-22 00:18:55 +00:00
rwatson
43a755fbe6 Don't use UFS2 by default during the install process on PC98, as the
PC98 boot blocks don't support UFS2.  We keep newfs(8) defaulting to
UFS2.

Warn users that FreeBSD can only boot from a root file system smaller
than 1.5TB; hopefully this will get fixed by the patches currently
floating around on -CURRENT.

Reviewed by:	nyan
2003-04-21 20:57:20 +00:00
phk
957f9f4202 Now that all uses of this file use explicit encoding/decoding, remove
all the bits we do not need, and drop the attempt at "disk-image"
structure definition.

Add idempotency (sp?) #ifdef
2003-04-21 20:40:41 +00:00
phk
ea17f6289a Use explicit encoding/decoding funtions for sunlabel data structures.
Use #defines for various magic numbers.

Attach test-case to makefile.

Reviewed by:    jake
2003-04-21 20:38:15 +00:00
phk
a981fec797 Update libdisk to use the explicing encoding function for sunlabel data
structures.
2003-04-21 20:36:44 +00:00
phk
38d3139e70 Add minimal regression test for hotspot handling of the sunlabel. 2003-04-21 20:16:07 +00:00
phk
c99d9e1424 Implement a hotspot for the sunlabel.
This means that you can no longer trash your opened partitions by writing to
the sunlabel through another partition.  This is similar to the semantics
implemented for BSD labels.
2003-04-21 20:14:36 +00:00
jhb
c7835c0929 - Don't highlight options APIC_IO at the top since it only applies to i386
and this manpage is somewhat machine independent.
- Don't redundantly say that SMP support is present for all supported
  architectures.  Instead, say that it is present for all Tier-1
  architectures.
- Note that an SMP kernel not booting on a UP machine is an i386-only
  exception.
- Add a paragraph about hyperthreading support including some docco on the
  machdep.hlt_logical_cpus sysctl ps@ recently added.
- Note that SMP support for alpha, ia64, and sparc64 debuted in 5.0.
2003-04-21 20:05:33 +00:00
phk
78e84f94ed Update GEOM::SUN to use the decoding functions in geom_sunlabel_enc.c
and #defines from sys/sun_disklabel.h.
2003-04-21 19:54:11 +00:00
phk
d5b1803a96 Use #defines from <sys/sun_disklabel.h> instead of private ones. 2003-04-21 19:42:36 +00:00
phk
a8a7c6ab61 Add defines for number of partitions, raw partition index and size of
encoded data structure.
2003-04-21 19:38:33 +00:00
phk
d0c2ab56a5 Add prototypes for sunlabel_dec() and sunlabel_enc().
Assume (for now) that all sun labels are big endian.
2003-04-21 19:31:42 +00:00
ru
55c49c799e Removed mount_devfs from progs since there is no "mount_devfs"
source directory (it's spelled mount_std nowadays), so it was
a no-op anyway, and DEVFS is now the default.
2003-04-21 19:14:32 +00:00
brueffer
5b10a1bbb6 Grammar and spelling fixes, improved the wording a bit
A slightly different patch than the one from the PR was applied

PR:		38815
Submitted by:	Chris Pepper <pepper@guest.reppep.com>
MFC after:	3 days
2003-04-21 19:08:35 +00:00