Commit Graph

89952 Commits

Author SHA1 Message Date
Don Lewis
1e9bc9f889 Detect that a vnode has been reclaimed while vflush() was waiting to lock
the vnode and restart the loop.  Vflush() is vulnerable since it does not
hold a reference to the vnode and it holds no other locks while waiting
for the vnode lock.  The vnode will no longer be on the list when the
loop is restarted.

Approved by:	re (rwatson)
2003-05-16 19:46:51 +00:00
Hiten Pandya
5f616912b4 Document the ``resource management'' routines in rman(9).
Submitted by: Bruce M. Simpson <bms@spc.org>
Reviewed by: mdodd

Approved by: des (mentor), re (scottl)
2003-05-16 19:22:27 +00:00
John Baldwin
2adcfc5855 - Use better terminology when describing mutex operations in msleep(9)'s
description.
- Remove some bogus commas.
- Use the past tense when referring to the removal of the sleep() function
  since it happened quite a while ago and since the previous sentence in the
  paragraph already uses the past tense.

Approved by:	re (rwatson)
2003-05-16 15:52:32 +00:00
Hiten Pandya
0d740fd5e8 Add a manual page for the CTASSERT(9) macro.
Approved by: des (mentor), re (scottl)
2003-05-16 15:24:07 +00:00
Hiten Pandya
30ecad6f4b Document the VFCF_* flags.
Approved by: des (mentor), re (scottl)
2003-05-16 15:21:20 +00:00
Dag-Erling Smørgrav
9878532be8 More configuration tweaks. Rename %CONFIGS to %SETUPS to make the code
clearer (particularly to someone who has read the man page).  Don't print
anything on stderr.
2003-05-16 14:01:02 +00:00
Ruslan Ermilov
f7d341e06d Revision 1.49 broke snapshot building on older systems.
Approved by:	re (scottl)
2003-05-16 13:59:12 +00:00
Dag-Erling Smørgrav
16b7723c4f Document the fact that tinderbox(1) accepts environment variables on the
command line.  Also sort the xrefs correctly.
2003-05-16 13:58:20 +00:00
Dag-Erling Smørgrav
f0bd8792bb More oats for the beggars' horses. 2003-05-16 12:11:13 +00:00
Dag-Erling Smørgrav
cef526c27c Be careful what you wish for - you might get it!
Wished for by:	ru
2003-05-16 10:59:40 +00:00
Dag-Erling Smørgrav
7f34345c68 Add a 'patch' command rather than apply the patch unconditionally.
Don't try to clean the release chroot, leave that to the release Makefile.
2003-05-16 10:58:35 +00:00
Dag-Erling Smørgrav
3dcbbed7f3 Don't be so sensitive; /\bStop\b/ can occur in normal output and trick
tbmaster into thinking the build failed.  Look for /^Stop in / instead.
2003-05-16 10:55:49 +00:00
Marcel Moolenaar
baf74b8876 o In pmap_install, don't prevent switching the pmap if we're
switching to kernel_pmap. The pmap is not special enough.
o  Clear the active bit on the pmap we're switching out.
o  Fix some nearby style(9) bugs.

Approved by: re@
2003-05-16 07:57:44 +00:00
Dag-Erling Smørgrav
ae2568e5f3 Overhaul the reporting code, making sender, recipient and subject fully
configurable.

Add support for tinderbox.pl's --patch.

-STABLE releases won't build with NOPERL (kernel builds use Perl).
2003-05-16 07:54:47 +00:00
Dag-Erling Smørgrav
b2b8f6223b Add support for local patches (which are also passed on to make release)
--verbose was a little too verbose, especially while cleaning the sandbox.
2003-05-16 07:52:38 +00:00
Alan Cox
f820bc501e Use vm_object_deallocate(), not vm_pager_deallocate(), to destroy a
vm object.  (vm_pager_deallocate() does not, in fact, destroy a vm object.)

Approved by:	re (scottl)
Reviewed by:	phk
2003-05-16 07:28:27 +00:00
Marcel Moolenaar
906f065725 Indent a comment. This makes 1.100.
Still approved by: re@ (blanket)
2003-05-16 07:05:08 +00:00
Marcel Moolenaar
164d4986fd Turn pmap_growkernel() into a critical section. While here, initialize
kernel_vm_end in pmap_bootstrap. Don't delay the initialization until
we need to grow the kernel VM space. This BTW happens twice before
we enter either single- or multi-user mode. Don't adjust kernel_vm_end
while growing based on whether the KPT contains a non-NULL entry. We
trust kernel_vm_end to be correct and we make sure it's still correct
after growing.
Define virtual_avail and virtual_end in terms of VM_MIN_KERNEL_ADDRESS
and VM_MAX_KERNEL_ADDRESS (resp). Don't hardcode region knowledge.
2003-05-16 07:03:15 +00:00
Marcel Moolenaar
8cc31ae5be Revamp the RID allocation code:
o  Limit the size of the region ID map to 64KB. This gives a bitmap
   that is large enough to keep track of 2^19 numbers. The minimal map
   size is 32KB. The reason we limit the map size is that processor
   models may have implemented a 24-bit region ID, which would give
   a 2MB bitmap while the maximum number of allocations is always
   less than PID_MAX*5, which is less than 2^19.
o  Allocate all region IDs up-front. The slight downside of reserving
   more RIDs then a process needs (3 for ia64 native and 1 for ia32)
   is preferable over the call to pmap_ensure_rid() where RIDs are
   allocated on demand. On SMP systems this may lead to a race
   condition.
o  When allocating a region ID, don't use arc4random(). We're not
   interested in randomness or uniform distribution across the
   spectrum. We only need uniqueness. Random numbers may easily
   collide when the number of allocated RIDs is high, creating a
   possibly unbounded retry rate.
2003-05-16 06:40:40 +00:00
Marcel Moolenaar
75189cff08 Move the conditional definition of KSTACK_MAX_PAGES up ahead where
it's more visible.

Approved by: re@ (blanket)
2003-05-16 06:17:34 +00:00
Marcel Moolenaar
5551d84398 Sync the linker script with the one used by default for userland. Since
ia64 only uses relocations with addend, remove the sections specific to
non-addend relocations (.rel.*). Also remove C++ specific sections.

Approved by: re@ (blanket)
2003-05-16 06:03:45 +00:00
Murray Stokely
a8a084fc17 Add variables for missing network drivers.
PR:		kern/51911
Submitted by:	David Yeske <dyeske@yahoo.com>
Approved by:	re
2003-05-16 04:31:00 +00:00
Murray Stokely
4001e1ee2e Add E-Tech ISA PnP modem ID.
PR:		kern/36692
Submitted by:	Theo van Klaveren <t.vanklaveren@student.utwente.nl>
Approved by:	re (murray)
MFC After:	3 days
2003-05-16 04:04:04 +00:00
Murray Stokely
b07f858e8b Add French dvorak-like keymap for syscons.
PR:		conf/50732
Submitted by:	Frederic PRACA <frederic.praca@freebsd-fr.org>
Approved by:	re
2003-05-16 03:46:53 +00:00
Murray Stokely
c14b1e3675 Fix the M and < keys on Belgian keyboards.
PR:		conf/30341, i386/48398
Submitted by:	Chris Pockele <chrisp@belgacom.net>
Approved by:	re
2003-05-16 03:37:52 +00:00
Murray Stokely
a9e91c5ea4 Fix < >, { } and [ ] keys.
PR:		conf/47556
Approved by:	re (murray)
2003-05-16 03:34:23 +00:00
David E. O'Brien
04ddc5dea6 Run $S/kern/genassym.sh with the correct NM.
Approved by:	re(blanket)
2003-05-16 02:27:17 +00:00
Tim J. Robbins
6e7988b9c5 Catch up with the renaming of the "union" filesystem to "unionfs".
Fixes a problem where directory entries could show up twice: once
on the top layer of the union stack, and once on the bottom layer.

Approved by:	re (rwatson)
2003-05-16 02:15:07 +00:00
David E. O'Brien
8d542cb56d Fix long standing bug that prevents the PT_CONTINUE, PT_KILL and
PT_DETACH ptrace(2) requests from functioning as advertised in the
manual page.  As described in kern/35175, the PT_DETACH request will,
under certain circumstances, pass an unwanted signal on to the traced
process upan detaching from it.  The PT_CONTINUE request will
sometimes fail if you make it pass a signal that has "properties" that
differ from the properties of the signal that origionally caused the
traced process to be stopped.  Since PT_KILL is nothing than
PT_CONTINUE with SIGKILL, it is broken too.  In the PT_KILL case, this
leads to an unkillable process.

PR:		44011
Submitted by:	Mark Kettenis <kettenis@chello.nl>
Approved by:	re(jhb)
2003-05-16 01:34:23 +00:00
Robert Watson
98b2788832 Add a tunable/sysctl "hw.fxp_noflow" which disables flow control support
on if_fxp cards.  When flow control is enabled, if the operating system
doesn't acknowledge the packet buffer filling, the card will begin to
generate ethernet quench packets, but appears to get into a feedback
loop of some sort, hosing local switches.  This is a temporary workaround
for 5.1: the ability to configure flow control should probably be
exposed by some or another management interface on ethernet link layer
devices.

Approved by:	re (bmah)
Reviewed by:	mux
2003-05-16 01:13:16 +00:00
Thomas Moestl
a93b6bf5e9 In cpu_fork(), initialize pcb_psl for the new process to PSL_KERNEL,
instead of taking the (userland) eflags from the trap frame and masking
out PSL_I. There is no need to inherit any flags from the forking process;
the old method however can cause flags set in userland for the forking
process to be bogusly set in kernel mode when the newly forked process
runs for the first time (in particular PSL_T, which is set for userland
when the process is single-stepped; this would cause trace traps in
kernel mode).

Approved by:	re (jhb)
2003-05-16 01:10:33 +00:00
Hiten Pandya
d98ae55eaf Bring the kame(4) manual page closer to reality:
- prefix(8) and gifconfig(8) are deprecated
    - dtcpc, dtcps were never imported (also removed from KAME CVS)
    - pim6dd, pim6sd and racoon are ports
    - inet6d does not exist on FreeBSD

PR: docs/51295
Submitted by: Simon L. Nielsen <simon@nitro.dk>

Content reviewed by: itojun
Approved by: des (mentor), re (bmah)
2003-05-16 00:31:12 +00:00
Robert Watson
c1dca9ab07 VOP_PATHCONF() requires a vnode lock; this patch adds locking to
fpathconf(). The lock is held for direct calls to VOP_PATHCONF() in
pathconf() already.

Approved by:	re (jhb)
Pointed out by:	DEBUG_VFS_LOCKS
2003-05-15 21:13:08 +00:00
Robert Watson
7042ac8cd7 This change grabs the vnode lock for NFS client vnodes when calling
VOP_SETATTR() or VOP_GETATTR(); without these locks (a) VFS_DEBUG_LOCKS
will panic, and (b) it may be possible to corrupt entries in the cached
vnode attributes in the nfsnode, since nfsnode attribute cache data is
also protected by the vnode lock.

Approved by:	re (jhb)
Pointed out by:	VFS_DEBUG_LOCKS
2003-05-15 21:12:08 +00:00
Robert Watson
62d4b85ec1 Jeff added locking assertions that the VV_ flags on vnodes were modified
only while holding appropriate vnode locks.  This patch slides the lock
release for ufs_extattr_enable() to continue to hold the active vnode lock
on a backing file until after the flag change; it also acquires a vnode
lock when disabling an attribute and hence clearing a flag on the backing
vnode.  This permits VFS_DEBUG_LOCKS to run UFS1 extended attributes
without panicking, as well as preventing a potential race and vnode flag
problem.

Approved by:	re (jhb)
Pointed out by:	DEBUG_VFS_LOCKS
2003-05-15 21:07:33 +00:00
Dag-Erling Smørgrav
ccd60d5c3d Explicitly set the sandbox directory (it defaults to ~/tinderbox which is
wrong when running a release tinderbox as root)

Use the setup's COMMENT field in the subject of the failure report, instead
of just "$branch tinderbox".

Tweak the test setups.
2003-05-15 20:33:33 +00:00
Dag-Erling Smørgrav
1a1ab60d64 'make release' should run from src/release, not src. 2003-05-15 20:30:21 +00:00
Bosko Milekic
11583f6c93 Make the mb_alloc low-watermark sysctl-tunable read-only and make
netstat(1) not display it for now because its effects are not yet
completely implemented and we're about to cut 5.2-RELEASE.
This is temporary.

Approved by: re (scottl, rwatson)
2003-05-15 19:05:28 +00:00
Julian Elischer
95f04def4b fix a cut-n-paste error.
in the case where the bridge node was closed down but a timeout
still applied to it, the final reference to the node was freeing the private
data structure using the wrong malloc type.

Approved by:	re@
2003-05-15 18:51:28 +00:00
Mike Makonnen
dd3b229e2c Do some cleanup with respect to condition variables. The implementation
of pthread_cond_timedwait() is moved into cond_wait_common().
Pthread_cond_wait() and pthread_cond_timedwait() are now wrappers around
this function. Previously, the former called the latter with the abstime
pointing to 0 time. This violated Posix semantics should an application
have reason to call it with that argument because instead or returning
immediately it would have waited indefinitely for the cv to be signaled.

Approved by:	markm/mentor, re/blanket libthr
Reviewed by:	jeff
2003-05-15 18:17:13 +00:00
Ruslan Ermilov
50da533c0e Use the installed world's idea of OSRELDATE rather than the kernel.
This was the initial intent anyway, and it became clear that it is
really necessary to treat it this way, as many people happen to run
with kernel newer than the installed world.

Submitted by:	imp, ru
Approved by:	re (scottl)
2003-05-15 17:59:32 +00:00
Mike Makonnen
6da7f4937e o Make the setting/checking of cancel state atomic with
respect to other threads and signal handlers by moving to
  the _thread_critical_enter/exit functions.

o Introduce an static function, testcancel(), that is used by
  the other functions in this module. This allows it to make
  locking assumptions that the top-level functions can't.

o Rework the code flow a bit to reduce indentation levels.

Approved by:	markm/mentor, re/blanket libthr
Reviewed by:	jeff
2003-05-15 17:56:18 +00:00
Nate Lawson
d6061de923 Generalize a quirk for Asahi Optical-based cameras (i.e. Pentax). It appears
all of the Optio series have the same problems.  It might be a better
approach eventually to add wildcard support to USB quirks.

PR:		kern/50271, kern/46369
Approved by:	re (rwatson)
2003-05-15 17:36:22 +00:00
Nate Lawson
f410510b09 Add a quirk for OTi USB flash key.
PR:		kern/51825
Approved by:	re (rwatson)
2003-05-15 17:35:35 +00:00
Thomas Moestl
18100346d1 Miscellaneous fixes:
- Fix compilation without GEM_DEBUG.
- Do not #define GEM_DEBUG by default; it adds overhead (due to bzero()ing
  RX space) and is not needed any more, since the driver is quite stable
  now.
- Fix watchdog timeouts when failing to load TX packets.
- Do not forcibly limit the number of descriptors used for a packet to
  GEM_NTXSEGS, by passing this number to bus_dma_tag_create(). There is
  no requirement for a limit any lower than the total number of
  available descriptors, and the present limit caused network problems
  due to mbuf chains requiring more descriptors.
  GEM_NTXSEGS is still used to estimate the interrupt window size, for
  which we just need an estimate.

Approved by:	re (rwatson)
2003-05-15 16:57:55 +00:00
Martin Blapp
f956e0b3f0 Only use a SIA/SYM media info block if no MII block is detected.
The submitter of PR 32118 told me that this patch also fixes autoselecting
for znyx 4 port cards (10baseT, 100baseTX did work already).

PR:		32118
Reviewed by:	imp
Approved by:	rwatson (re)
2003-05-15 16:53:29 +00:00
Dag-Erling Smørgrav
0fbce30315 Make 'clean' and 'update' commands rather than options. Invoke 'update'
(but not 'clean') in all setups.  Bump tinderbox.pl version to 2.1, mostly
for the 'release' command added in the previous commit.
2003-05-15 13:12:57 +00:00
Dag-Erling Smørgrav
9aad97c0eb Make the ENV configuration variable a hash rather than an array.
Build LINT on -STABLE now that tinderbox.pl knows how.  Also try to build
LINT on powerpc and amd64 (this is a formality as they don't have NOTES
so nothing will be built)

Add two setups for release testing, with plenty of NO* to speed things up.

If the config key was not specified on the command line, try to guess it
from the hostname.
2003-05-15 12:33:46 +00:00
Dag-Erling Smørgrav
91f9508f52 Add a 'release' command which builds a release. It currently sets
NOCDROM, NODOC and NOPORTS to save time and space, but I may remove
those at a later date so we can use the results to populate a snapshot
server.

Document the --machine option.

Make $arch and $machine default to the correct values for the current
system.  This shouldn't make any difference unless you run the
tinderbox on a pc98 machine, since for all other platforms, $arch and
$machine are the same.

Only set kernel-related variables if actually building a kernel or a
release.

Be paranoid and cd to the correct directory in each stage so we're
sure we invoke make(1) in the right place.

To support building LINT on -STABLE, don't try to 'make LINT' unless
NOTES exists, but build LINT if the config file exists even if there
is no NOTES.
2003-05-15 12:26:55 +00:00
Dag-Erling Smørgrav
0d74290be5 use 5.006_001 (for new open() syntax) 2003-05-15 12:17:02 +00:00