dragonfly.git
17 years agoMove extern declaration to file scope to fix warning
Joerg Sonnenberger [Thu, 3 Jun 2004 13:34:37 +0000 (13:34 +0000)]
Move extern declaration to file scope to fix warning

17 years agoDon't cast away the const before dereferencing.
Joerg Sonnenberger [Thu, 3 Jun 2004 13:30:26 +0000 (13:30 +0000)]
Don't cast away the const before dereferencing.

17 years agoHide unused functions to silence GCC
Joerg Sonnenberger [Thu, 3 Jun 2004 13:12:24 +0000 (13:12 +0000)]
Hide unused functions to silence GCC

17 years agoHide unused function under #ifdef SMP
Joerg Sonnenberger [Thu, 3 Jun 2004 13:09:07 +0000 (13:09 +0000)]
Hide unused function under #ifdef SMP

17 years agoAdd ref counting to the checkpoint handler and unload function so an unload
Eirik Nygaard [Thu, 3 Jun 2004 10:00:06 +0000 (10:00 +0000)]
Add ref counting to the checkpoint handler and unload function so an unload
will not happen when a program is being checkpointed.

17 years agoClean up some misuses of bp->b_dev after a strategy function has completed
Matthew Dillon [Wed, 2 Jun 2004 19:31:02 +0000 (19:31 +0000)]
Clean up some misuses of bp->b_dev after a strategy function has completed
(the field cannot be used after biodone() has been called).  Add a separate
dev_t argument to diskerr() to take care of the issue and get rid of some
FD error reporting hacks at the same time.

Reported-by: David Rhodus
17 years agoANSIfication and cleanup. No functional changes.
Matthew Dillon [Wed, 2 Jun 2004 17:18:43 +0000 (17:18 +0000)]
ANSIfication and cleanup.  No functional changes.

Submitted-by: Tim Wickberg <me@k9mach3.org>
17 years agoAllow an inp control block to be inserted on multiple wildcard hash tables.
Jeffrey Hsu [Wed, 2 Jun 2004 16:41:28 +0000 (16:41 +0000)]
Allow an inp control block to be inserted on multiple wildcard hash tables.

17 years agoPlug a memory leak when the kernel initialiazes config_devtab resources
Hiten Pandya [Wed, 2 Jun 2004 15:25:01 +0000 (15:25 +0000)]
Plug a memory leak when the kernel initialiazes config_devtab resources
in resource_new_name().

PR:       kern/33344 (FreeBSD GNATS)
Patch-by: David Xu <davidxu at freebsd.org>
17 years agoChange mbug allocation flags from M_ to MB_ to avoid confusion with malloc
Eirik Nygaard [Wed, 2 Jun 2004 14:43:04 +0000 (14:43 +0000)]
Change mbug allocation flags from M_ to MB_ to avoid confusion with malloc
flags.

Requested by: Jeffrey Hsu

17 years agoInclude ns.h to get prototyp for ns_cksum
Joerg Sonnenberger [Wed, 2 Jun 2004 14:19:11 +0000 (14:19 +0000)]
Include ns.h to get prototyp for ns_cksum

17 years agoImprove the way error message from ALART are printed.
Joerg Sonnenberger [Wed, 2 Jun 2004 14:00:12 +0000 (14:00 +0000)]
Improve the way error message from ALART are printed.

17 years agoset_lapic_isrloc depends on APIC_IO for the prototype to exist, it isn't
Joerg Sonnenberger [Wed, 2 Jun 2004 13:56:34 +0000 (13:56 +0000)]
set_lapic_isrloc depends on APIC_IO for the prototype to exist, it isn't
used otherwise.

17 years agoUse volatile and __DEVOLATILE to silence gcc warnings.
Joerg Sonnenberger [Wed, 2 Jun 2004 13:49:46 +0000 (13:49 +0000)]
Use volatile and __DEVOLATILE to silence gcc warnings.

17 years agoUse __DECONST to silence GCC. Make some private routines static.
Joerg Sonnenberger [Wed, 2 Jun 2004 11:46:11 +0000 (11:46 +0000)]
Use __DECONST to silence GCC. Make some private routines static.

17 years agoMerge from FreeBSD, RELENG_4 branch, revision 1.250.2.26.
Hiten Pandya [Wed, 2 Jun 2004 07:34:29 +0000 (07:34 +0000)]
Merge from FreeBSD, RELENG_4 branch, revision 1.250.2.26.

--- original commit message ---
  Log:
  There is a comma missing in the table initializing the
  pmap_prefault_pageorder array.  This has two effects:

  1. The resulting bogus contents of the array thwarts part of
  the optimization effect pmap_prefault() is supposed to have.

  2. The resulting array is only 7 elements long (auto-sized), while
  pmap_prefault() expects it to be the intended 8 elements.  So
  this function in fact accesses memory beyond the end of the array.
  Fortunately though, if the data at this location is out of bounds
  it will be ignored.

  This bug dates back more than 6 years.  It has been introduced
  in revision 1.178.

  Submitted by:   Uwe Doering <gemini@geminix.org>
  PR:        67460
--- original commit message ---

17 years agoVM86 calls on some BIOSs, apparently mainly VESA calls, use 8254 timers that
Matthew Dillon [Tue, 1 Jun 2004 22:24:10 +0000 (22:24 +0000)]
VM86 calls on some BIOSs, apparently mainly VESA calls, use 8254 timers that
we are using.  Restore our timers after making a vm86 call.  This is a hack,
but it seems to work.

Testing by: Sascha Wildner <saw@online.de>

17 years agoANSIfication. No operational changes.
Matthew Dillon [Tue, 1 Jun 2004 22:19:30 +0000 (22:19 +0000)]
ANSIfication.  No operational changes.

Submitted-by: Tim Wickberg <me@k9mach3.org>
17 years agoAdd a pfil_has_hooks() inline to shortcut calls to pfil_run_hooks(),
Matthew Dillon [Tue, 1 Jun 2004 20:49:08 +0000 (20:49 +0000)]
Add a pfil_has_hooks() inline to shortcut calls to pfil_run_hooks(),
allowing us to include PFIL_HOOKS without introducing any performance impact
when no hooks are being used.  This is in prep for making PFIL_HOOKS
permanent.

17 years agoAdd RLIMIT_POSIXLOCKS support to csh/tcsh.
Matthew Dillon [Tue, 1 Jun 2004 20:34:01 +0000 (20:34 +0000)]
Add RLIMIT_POSIXLOCKS support to csh/tcsh.

17 years agoThe const call is linted, use proper cast to silence GCC
Joerg Sonnenberger [Tue, 1 Jun 2004 17:35:58 +0000 (17:35 +0000)]
The const call is linted, use proper cast to silence GCC

17 years agoFix some const warnings
Joerg Sonnenberger [Tue, 1 Jun 2004 17:35:03 +0000 (17:35 +0000)]
Fix some const warnings

17 years agoInitialize the magic cookie using real numbers instead of a multi-character
Joerg Sonnenberger [Tue, 1 Jun 2004 17:31:17 +0000 (17:31 +0000)]
Initialize the magic cookie using real numbers instead of a multi-character
literal.

17 years agoExplicitly cast-away volatile since it should be save here.
Joerg Sonnenberger [Tue, 1 Jun 2004 17:30:30 +0000 (17:30 +0000)]
Explicitly cast-away volatile since it should be save here.

17 years agoExplicitly cast away the volatile for conversions and argument passings.
Joerg Sonnenberger [Tue, 1 Jun 2004 17:27:44 +0000 (17:27 +0000)]
Explicitly cast away the volatile for conversions and argument passings.
Deploy __DEVOLATILE.

17 years agoUse struct thread for kernel threads, not struct proc.
Joerg Sonnenberger [Tue, 1 Jun 2004 17:12:15 +0000 (17:12 +0000)]
Use struct thread for kernel threads, not struct proc.

17 years agoCorrect spelling.
Hiten Pandya [Tue, 1 Jun 2004 14:00:50 +0000 (14:00 +0000)]
Correct spelling.

Submitted-by: Tim Wickberg <me at k9mach3.org>

17 years agoRemove '-*- nroff -*-'.
Hiten Pandya [Tue, 1 Jun 2004 11:36:53 +0000 (11:36 +0000)]
Remove '-*- nroff -*-'.

Lets make a habit not to put editor-related magic into our base
files.  They are redundant and useless.

17 years agoStyle(9) cleanup:
Chris Pressey [Tue, 1 Jun 2004 01:15:59 +0000 (01:15 +0000)]
Style(9) cleanup:

- Remove `register' keywords.
- Single space after `switch'.
- No functional changes.

17 years agoPanic in udp_output() if a socket is found in an inconsistent state.
Jeffrey Hsu [Mon, 31 May 2004 23:53:14 +0000 (23:53 +0000)]
Panic in udp_output() if a socket is found in an inconsistent state.

17 years agoRemove unused error variable.
Eirik Nygaard [Mon, 31 May 2004 20:48:41 +0000 (20:48 +0000)]
Remove unused error variable.

Submitted-by: Dheeraj Reddy <dheerajs@comcast.net>
17 years agoSince RNDC does not yet support 'restart', use RCNG to restart named
Matthew Dillon [Mon, 31 May 2004 17:52:30 +0000 (17:52 +0000)]
Since RNDC does not yet support 'restart', use RCNG to restart named
instead of rolling our own.

Suggested-by: Brad Harvell <dfbrad@whatzit.org>
17 years agoFix the path to named's pid file.
Matthew Dillon [Mon, 31 May 2004 17:51:47 +0000 (17:51 +0000)]
Fix the path to named's pid file.

Submitted-by: Brad Harvell <dfbrad@whatzit.org>
17 years agoWhen doing a restart, sleep for 0.1 seconds after the kill to avoid racing
Matthew Dillon [Mon, 31 May 2004 17:50:39 +0000 (17:50 +0000)]
When doing a restart, sleep for 0.1 seconds after the kill to avoid racing
the kill in wait_for_pids() (which imposes a 2 second delay when the race
is lost).

17 years agoIn the root fs search use the correct unit number when checking for
Matthew Dillon [Mon, 31 May 2004 17:38:08 +0000 (17:38 +0000)]
In the root fs search use the correct unit number when checking for
device existinance.  The new device infrastructure often registers disk
unist separately, so looking up unit 0 when only unit N exists will not
succeed.  We might want to later augment this with the slice and partition
number (which are 0 at the time the search is made prior to the real lookup),
but this should work for now.

Submitted-by: Hiroki Sato <hrs@allbsd.org>
17 years agoTwo unused arguments were recently removed from pmap_init() without
Matthew Dillon [Mon, 31 May 2004 17:06:41 +0000 (17:06 +0000)]
Two unused arguments were recently removed from pmap_init() without
fixing the call or the prototype.  Fix those.

Reported-by: walt <wa1ter@myrealbox.com>
17 years agoDo not use the display function if the -o (opaque) or -x (hexdump)
Hiten Pandya [Mon, 31 May 2004 14:59:34 +0000 (14:59 +0000)]
Do not use the display function if the -o (opaque) or -x (hexdump)
arguments were provided to sysctl(8).

The display function is used when a sysctl node is registered as
`special' in sysctl(8), so instead of showing the normal "var:val"
output, it would format the values instead.  E.g. vm.loadavg.

17 years agoRemove an unimplemented advisory function, pmap_pageable(); there is
Hiten Pandya [Mon, 31 May 2004 11:43:49 +0000 (11:43 +0000)]
Remove an unimplemented advisory function, pmap_pageable(); there is
no pmap implementation in existance that requires it implemented.

Discussed-with:  Alan Cox <alc at freebsd.org>,
                 Matthew Dillon <dillon at backplane.com>

17 years agoRemove a stale comment: PG_DIRTY and PG_FILLED were removed in
Hiten Pandya [Mon, 31 May 2004 01:51:23 +0000 (01:51 +0000)]
Remove a stale comment: PG_DIRTY and PG_FILLED were removed in
revisions 1.17 and 1.12 respectively.

Noticed-by: Alan Cox <alc at freebsd.org>
17 years agoForce commit to clarify that the previous revision should have been
Hiten Pandya [Sat, 29 May 2004 09:53:58 +0000 (09:53 +0000)]
Force commit to clarify that the previous revision should have been
credited to:

YONETANI Tomokazu <qhwt+dragonfly-commit at les.ath.cx>

17 years agoAdjust include path so that the machine.h in ${.OBJDIR} is used
Hiten Pandya [Sat, 29 May 2004 09:51:43 +0000 (09:51 +0000)]
Adjust include path so that the machine.h in ${.OBJDIR} is used
instead of the one in src/contrib/top.

17 years agoFirst pass at updating top(1):
Hiten Pandya [Sat, 29 May 2004 05:11:15 +0000 (05:11 +0000)]
First pass at updating top(1):

* add command line option '-T' for displaying kernel threads
  such as pagedaemon, tcp_thread, and so on; the threads are
  now marked '<thread>' in the top(1) display.

* cleanup manipulation of COMMAND strings, insipired by a
  similar change in NetBSD's top(1).

* add a toggle for system processes, called 'S' so we dont
  need to restart top(1) to {un}display system processes.

* change some sprintf's to snprintfs for safety.

* update the sort/ordering top(1) commands so that it correctly
  displays kernel threads by priority time used etc.

* add a 'thr' sort order function so that kernel threads can be
  collected together in the top(1) display; this is useful when
  running it in batch mode.

* fix the screen width issue for terminals that have more than
  80 columns; this was necessary for showing threads properly in
  SMP mode.

* add ability for top(1) to sort kernel threads their priority
  (note, thread priorities are stored differently).

NOTE! top(1) is now using the contrib-patching framework just like
we do with GCC-3 so that it will be simple to update the base code
in the future if required.

CREDITS
Thanks go to Matthew Dillon <dillon@backplane.com> for reviewing the
patches and supplying me with an SMP machine to test the changes.

17 years agoMake sysctl_kern_proc() iterate through available cpus to retrieve the
Matthew Dillon [Sat, 29 May 2004 02:47:50 +0000 (02:47 +0000)]
Make sysctl_kern_proc() iterate through available cpus to retrieve the
list of threads installed on each one rather then just retrieve the threads
on the cpu it happens to have been called from.

To accomplish this, sysctl_kern_proc() now uses the new LWKT API to
migrate itself to each target cpu in order to safely access the thread
list on that cpu, ending up on the same cpu it started from.  The overhead
is nasty to be sure, but who cares when only 'top' and 'ps' and related
non-critical utilities use the feature?

17 years agooops.
David Rhodus [Fri, 28 May 2004 20:30:18 +0000 (20:30 +0000)]
oops.
make `pkg_add -r XFree86` work again by changing the Latest path back.

17 years agoAdd lwkt_setcpu_self(), a function which migrates the current thread to
Matthew Dillon [Fri, 28 May 2004 08:37:34 +0000 (08:37 +0000)]
Add lwkt_setcpu_self(), a function which migrates the current thread to
the specified cpu.  This will soon be used by sysctl_kern_proc() to
collect thread information across all available cpus (because it is only
legal to manipulate a thread on the cpu it belongs to).

Yes, you heard that right and, yes, the overhead is nasty... one whole
microsecond per cpu at least, possibly even two.  But who cares for
something like 'ps'?

In-conversation-with: Hiten Pandya <hmp@freebsd.org>

17 years agoInitialize the FP unit earlier in the AP boot sequence. This solves
Matthew Dillon [Thu, 27 May 2004 19:21:49 +0000 (19:21 +0000)]
Initialize the FP unit earlier in the AP boot sequence.  This solves
reported problems on MP systems not booting with mmxopt=1 .

Reported-by: Many. Thanks to David Rhodus for testing and debugging!
17 years agoAttach bind-9.2.4rc4 to the base system. Rip out bind-8 binaries and add
Matthew Dillon [Thu, 27 May 2004 18:15:43 +0000 (18:15 +0000)]
Attach bind-9.2.4rc4 to the base system.  Rip out bind-8 binaries and add
in / adjust for most bind-9 binaries.  Note that some pre-generated header
files have been hacked into /usr/src/usr.sbin/named and might have to be
regenerated from the original distribution when incorporating updates to
bind.  But, for the most part, the build is clean.

Clean up rc.d/named and etc/defaults/rc.conf, add a README file to
/etc/namedb describing setup requirements, and change the default
named.conf file and RCNG variables to (if named is enabled) run named in
a chrooted environment as user 'bind'.  Adapt the 'getroot' script that
I have used for many years to provide a better root.zone master methodology
instead of the root hints file that has been traditionally shipped.

Adjust the mtree files and distrib-dirs target to create the necessary
infrastructure in /etc/namedb for handling a chrooted named.

NOTE: bind-8 had 'ndc' and 'named-xfer'.  bind-8 has rndc and there is no
named-xfer (it is builtin to named).  nslookup still exists but is deprecated
in favor of 'dig', and the old dnskeygen/dnsquery mechanism has been replaced
by the newer dnssec-* mechanism.

17 years agoBring in the fictitious page wiring bug fixes from FreeBSD-5. Make additional
Matthew Dillon [Thu, 27 May 2004 00:38:58 +0000 (00:38 +0000)]
Bring in the fictitious page wiring bug fixes from FreeBSD-5.  Make additional
major changes to the APIs to clean them up (so this commit is substantially
different than what was committed to FreeBSD-5).

Obtained-from: Alan Cox <alc@cs.rice.edu> (FreeBSD-5)

17 years agoMask bits properly for pte_prot() in case it is called with additional
Matthew Dillon [Wed, 26 May 2004 23:34:25 +0000 (23:34 +0000)]
Mask bits properly for pte_prot() in case it is called with additional
VM_PROT_ bits.

Fix a wired memory leak bug in pmap_enter().  If a page wiring change is
made and the page has already been faulted in for read access, and a
write-fault occurs, pmap_enter() was losing track of the wiring count in
the pmap when it tried to optimize the RO->RW case in the page table.
This prevented the page table page from being freed and led to a memory leak.

The case is easily reproducable if you attempt to wire the data/bss crossover
page in a program (typically just declare a global variable in a small program
and mlock() its page, then exit without munlock()ing).  4K is lost each time
the program is run.

17 years agoANSIfication and cleanup. No functional changes.
Matthew Dillon [Wed, 26 May 2004 20:04:07 +0000 (20:04 +0000)]
ANSIfication and cleanup.  No functional changes.

Submitted-by: Tim Wickberg <me@k9mach3.org>
17 years agoCorrect a bug in the last commit, udev must be assigned from vp->v_udev, not
Matthew Dillon [Wed, 26 May 2004 19:11:08 +0000 (19:11 +0000)]
Correct a bug in the last commit, udev must be assigned from vp->v_udev, not
vp->v_rdev.

17 years agoCleanup warnings. No operational changes. Note that the original ACPICA
Matthew Dillon [Wed, 26 May 2004 19:10:00 +0000 (19:10 +0000)]
Cleanup warnings.  No operational changes.  Note that the original ACPICA
character device interface was already disabled prior to this commit.

17 years agoCleanup warnings. No operational changes.
Matthew Dillon [Wed, 26 May 2004 19:09:04 +0000 (19:09 +0000)]
Cleanup warnings.  No operational changes.

17 years agoConsolidate SYSCTL_DECL(_kern_ipc), move it to sys/sysctl.h as
Hiten Pandya [Wed, 26 May 2004 14:12:34 +0000 (14:12 +0000)]
Consolidate SYSCTL_DECL(_kern_ipc), move it to sys/sysctl.h as
a common second-level OID.

No operational changes.

17 years agopreload_delete_name() needs to use the same path munging that the other
Matthew Dillon [Wed, 26 May 2004 08:32:41 +0000 (08:32 +0000)]
preload_delete_name() needs to use the same path munging that the other
preload routines use, or it may not find the preloaded module.  Failure
to delete a preloaded module that is being unloaded can result in the
preloaded module being relocated twice if a later kldload occurs.

Found-by: Hiten Pandya <hmp@backplane.com>
17 years agocount_udev() was being called with the wrong argument.
Matthew Dillon [Wed, 26 May 2004 07:45:26 +0000 (07:45 +0000)]
count_udev() was being called with the wrong argument.

Submitted-by: Hiten Pandya <hmp@backplane.com>
17 years agoANSIfication and general cleanup. No operational changes.
Matthew Dillon [Wed, 26 May 2004 01:29:58 +0000 (01:29 +0000)]
ANSIfication and general cleanup.  No operational changes.

17 years agoCleanup cdevsw and dev reference counting ops to fix a warning that occurs
Matthew Dillon [Wed, 26 May 2004 01:14:36 +0000 (01:14 +0000)]
Cleanup cdevsw and dev reference counting ops to fix a warning that occurs
when a system is halted or rebooted.

17 years agoIncrement v_opencount before potentially blocking in dopen to avoid
Matthew Dillon [Wed, 26 May 2004 00:11:56 +0000 (00:11 +0000)]
Increment v_opencount before potentially blocking in dopen to avoid
a degenerate open/close case.

Suggested-by: Hiten Pandya <hmp@leaf.dragonflybsd.org>
17 years agoANSIfication and cleanup. No operational changes.
Matthew Dillon [Tue, 25 May 2004 18:54:26 +0000 (18:54 +0000)]
ANSIfication and cleanup.  No operational changes.

17 years agoThe extended mbr handling code was improperly using the b_dev from a
Matthew Dillon [Tue, 25 May 2004 18:46:35 +0000 (18:46 +0000)]
The extended mbr handling code was improperly using the b_dev from a
struct buf after its strategy call had been made.

Reported-by: Tim Wickberg <me@k9mach3.org>, walt <wa1ter@myrealbox.com>,
Fredrik Eriksson <dragonfly-bugs@omnib.org>, and others

17 years agoAdd missing . before An macro at the end.
Jeroen Ruigrok/asmodai [Tue, 25 May 2004 13:00:50 +0000 (13:00 +0000)]
Add missing . before An macro at the end.

17 years agoAdded mention of using MAKEDEV for when the target slice for installation
Justin C. Sherrill [Mon, 24 May 2004 14:00:04 +0000 (14:00 +0000)]
Added mention of using MAKEDEV for when the target slice for installation
is not ad0s1, as the rest of the file assumes.

Patch-from: Tim Wickberg <me@k9mach3.org>
Comment-text-slightly-modified-by: me
17 years agoWrap the VM MAP locking routines with _KERNEL, user-land has no
Hiten Pandya [Mon, 24 May 2004 07:25:36 +0000 (07:25 +0000)]
Wrap the VM MAP locking routines with _KERNEL, user-land has no
business with them.

This fixes quite a lot of sysutil/ ports indirectly, because
they include <sys/user.h> which ends up including <vm/vm_map.h>.

17 years agoRemove unneeded typecast.
David Rhodus [Fri, 21 May 2004 16:21:57 +0000 (16:21 +0000)]
Remove unneeded typecast.

17 years agoCleanup pass. Removed code that is not needed anymore.
David Rhodus [Fri, 21 May 2004 15:41:23 +0000 (15:41 +0000)]
Cleanup pass. Removed code that is not needed anymore.
Cleanup VOP_LEASE() uses and document.

Add in a debug function for buffer pool statistical information which can
be toggled via debug.syncprt.

17 years agoFix SYSCTL description style.
Hiten Pandya [Fri, 21 May 2004 14:26:28 +0000 (14:26 +0000)]
Fix SYSCTL description style.

17 years agoDocument the pmap_kenter_quick(9) function. While I am here, fix
Hiten Pandya [Fri, 21 May 2004 11:03:14 +0000 (11:03 +0000)]
Document the pmap_kenter_quick(9) function.  While I am here, fix
comment style for pmap_kenter(9).

17 years agoIt is DragonFly BSD, not FreeBSD. Correct config(8) files.
Hiten Pandya [Fri, 21 May 2004 10:47:45 +0000 (10:47 +0000)]
It is DragonFly BSD, not FreeBSD.  Correct config(8) files.

17 years agoThe default shell for the user `man' is nologin(8). Make the examples
Chris Pressey [Fri, 21 May 2004 05:27:12 +0000 (05:27 +0000)]
The default shell for the user `man' is nologin(8).  Make the examples
of su(1)'s usage (hopefully) more elucidating to new administrators in
light of this fact.

17 years agoPass the proper mask/match arguments to cdevsw_add() so the various sound
Matthew Dillon [Fri, 21 May 2004 01:14:27 +0000 (01:14 +0000)]
Pass the proper mask/match arguments to cdevsw_add() so the various sound
device minor numbers do not override each other's major numbers / cdevsw
structures.

Reported-by: Emiel Kollof <coolvibe@hackerheaven.org> and others
17 years agoGet rid of VM_WAIT and VM_WAITPFAULT crud, replace with calls to
Matthew Dillon [Thu, 20 May 2004 22:42:25 +0000 (22:42 +0000)]
Get rid of VM_WAIT and VM_WAITPFAULT crud, replace with calls to
vm_wait() and vm_waitpfault().  This is a non-operational change.

vm_page.c now uses the _vm_page_list_find() inline (which itself is only
in vm_page.c) for various critical path operations.

17 years agoCleanup pass. No operational changes.
Matthew Dillon [Thu, 20 May 2004 22:40:29 +0000 (22:40 +0000)]
Cleanup pass.  No operational changes.

17 years agoGet rid of obsolete PQ_ options.
Matthew Dillon [Thu, 20 May 2004 22:38:32 +0000 (22:38 +0000)]
Get rid of obsolete PQ_ options.

17 years agoCleanup pass. No operational changes.
Matthew Dillon [Thu, 20 May 2004 22:35:39 +0000 (22:35 +0000)]
Cleanup pass.  No operational changes.

17 years agoCleanup compile issues with the recent dev_t changes.
Matthew Dillon [Thu, 20 May 2004 21:47:23 +0000 (21:47 +0000)]
Cleanup compile issues with the recent dev_t changes.

17 years agoCleanup compile issues with the recent dev_t changes.
Matthew Dillon [Thu, 20 May 2004 21:44:00 +0000 (21:44 +0000)]
Cleanup compile issues with the recent dev_t changes.

17 years agoMake the primary PQ_ macros available to modules by creating the pageq
Matthew Dillon [Thu, 20 May 2004 21:40:52 +0000 (21:40 +0000)]
Make the primary PQ_ macros available to modules by creating the pageq
array based on the maximum cache size instead of the selected cache
size.   Remove obsolete PQ_ options (leaving only PQ_CACHESIZE).

Move the vm_page_list_find() inline out of vm_page.h and into vm_page.c,
and provide an external function for other modules that use it.

Remove the 'disable page coloring' option (that nobody has ever used),
and related conditionals.  Page coloring never hurts and is now always on
to some degree.

Suggested-by: Hiten Pandya <hmp@backplane.com>
Agreed-with: Alan Cox <alc@cs.rice.edu>

17 years agoClarify how our `test -w' is a superset of POSIX' requirements.
Chris Pressey [Thu, 20 May 2004 21:07:23 +0000 (21:07 +0000)]
Clarify how our `test -w' is a superset of POSIX' requirements.

17 years agoUpdate the mlock(2) manual page:
Hiten Pandya [Thu, 20 May 2004 20:54:50 +0000 (20:54 +0000)]
Update the mlock(2) manual page:

* Remove a long obsolete paragraph from the BUGS section.
* Bump the date.

Obtained-from: Alan Cox <alc at freebsd.org> (FreeBSD Project)

17 years agoStyle(9) cleanup to src/usr.sbin: remove remaining `register' keywords.
Chris Pressey [Thu, 20 May 2004 19:24:43 +0000 (19:24 +0000)]
Style(9) cleanup to src/usr.sbin: remove remaining `register' keywords.

17 years agoCorrect sort order of SUBDIRs.
Chris Pressey [Thu, 20 May 2004 19:09:27 +0000 (19:09 +0000)]
Correct sort order of SUBDIRs.

17 years agoStyle(9) cleanup to src/sys/netinet6:
Chris Pressey [Thu, 20 May 2004 18:30:36 +0000 (18:30 +0000)]
Style(9) cleanup to src/sys/netinet6:

- Convert K&R-style function definitions to ANSI style.

Submitted-by: Andre Nathan <andre@digirati.com.br>
Double-checked-by: YONETANI Tomokazu <qhwt+dragonfly-submit@les.ath.cx>
17 years agoPoint the remote site to use gobsd.com so the remote option now works.
David Rhodus [Thu, 20 May 2004 15:53:16 +0000 (15:53 +0000)]
Point the remote site to use gobsd.com so the remote option now works.

Ex. cvs# pkg_add -r bash-2.05b.007.tgz

17 years agoStyle(9) cleanup to src/sys/vfs, stage 21/21: unionfs.
Chris Pressey [Thu, 20 May 2004 05:09:18 +0000 (05:09 +0000)]
Style(9) cleanup to src/sys/vfs, stage 21/21: unionfs.

- Convert K&R-style function definitions to ANSI style.

Submitted-by: Andre Nathan <andre@digirati.com.br>
Additional-reformatting-by: cpressey
17 years agoPut snd_recover in the same cache line as snd_una. Make room in the
Jeffrey Hsu [Thu, 20 May 2004 04:32:59 +0000 (04:32 +0000)]
Put snd_recover in the same cache line as snd_una.  Make room in the
snd_una cache line by coalescing the t_force field into t_flags and moving
snd_up into the old t_force slot.

17 years agoTrade off more writes for a simpler check for when to pull up snd_recover.
Jeffrey Hsu [Thu, 20 May 2004 04:28:52 +0000 (04:28 +0000)]
Trade off more writes for a simpler check for when to pull up snd_recover.

17 years agoUsing the new contrib rev mechanism, bring cvs up to 1.12.8. Add patch files
Matthew Dillon [Thu, 20 May 2004 02:27:57 +0000 (02:27 +0000)]
Using the new contrib rev mechanism, bring cvs up to 1.12.8.  Add patch files
for our few remaining local patches (-j rev:DATE and -g).

17 years agoDevice layer rollup commit.
Matthew Dillon [Wed, 19 May 2004 22:53:06 +0000 (22:53 +0000)]
Device layer rollup commit.

* cdevsw_add() is now required.  cdevsw_add() and cdevsw_remove() may specify
  a mask/match indicating the range of supported minor numbers.  Multiple
  cdevsw_add()'s using the same major number, but distinctly different
  ranges, may be issued.  All devices that failed to call cdevsw_add() before
  now do.

* cdevsw_remove() now automatically marks all devices within its supported
  range as being destroyed.

* vnode->v_rdev is no longer resolved when the vnode is created.  Instead,
  only v_udev (a newly added field) is resolved.  v_rdev is resolved when
  the vnode is opened and cleared on the last close.

* A great deal of code was making rather dubious assumptions with regards
  to the validity of devices associated with vnodes, primarily due to
  the persistence of a device structure due to being indexed by (major, minor)
  instead of by (cdevsw, major, minor).  In particular, if you run a program
  which connects to a USB device and then you pull the USB device and plug
  it back in, the vnode subsystem will continue to believe that the device
  is open when, in fact, it isn't (because it was destroyed and recreated).

  In particular, note that all the VFS mount procedures now check devices
  via v_udev instead of v_rdev prior to calling VOP_OPEN(), since v_rdev
  is NULL prior to the first open.

* The disk layer's device interaction has been rewritten.  The disk layer
  (i.e. the slice and disklabel management layer) no longer overloads
  its data onto the device structure representing the underlying physical
  disk.  Instead, the disk layer uses the new cdevsw_add() functionality
  to register its own cdevsw using the underlying device's major number,
  and simply does NOT register the underlying device's cdevsw.  No
  confusion is created because the device hash is now based on
  (cdevsw,major,minor) rather then (major,minor).

  NOTE: This also means that underlying raw disk devices may use the entire
  device minor number instead of having to reserve the bits used by the disk
  layer, and also means that can we (theoretically) stack a fully
  disklabel-supported 'disk' on top of any block device.

* The new reference counting scheme prevents this by associating a device
  with a cdevsw and disconnecting the device from its cdevsw when the cdevsw
  is removed.  Additionally, all udev2dev() lookups run through the cdevsw
  mask/match and only successfully find devices still associated with an
  active cdevsw.

* Major work on MFS:  MFS no longer shortcuts vnode and device creation.  It
  now creates a real vnode and a real device and implements real open and
  close VOPs.  Additionally, due to the disk layer changes, MFS is no longer
  limited to 255 mounts.  The new limit is 16 million.  Since MFS creates a
  real device node, mount_mfs will now create a real /dev/mfs<PID> device
  that can be read from userland (e.g. so you can dump an MFS filesystem).

* BUF AND DEVICE STRATEGY changes.  The struct buf contains a b_dev field.
  In order to properly handle stacked devices we now require that the b_dev
  field be initialized before the device strategy routine is called.  This
  required some additional work in various VFS implementations.  To enforce
  this requirement, biodone() now sets b_dev to NODEV.  The new disk layer
  will adjust b_dev before forwarding a request to the actual physical
  device.

* A bug in the ISO CD boot sequence which resulted in a panic has been fixed.

Testing by: lots of people, but David Rhodus found the most aggregious bugs.

17 years agoStyle(9) cleanup to src/sys/vfs, stage 20/21: umapfs.
Chris Pressey [Tue, 18 May 2004 16:57:01 +0000 (16:57 +0000)]
Style(9) cleanup to src/sys/vfs, stage 20/21: umapfs.

- Convert K&R-style function definitions to ANSI style.

Submitted-by: Andre Nathan <andre@digirati.com.br>
Additional-reformatting-by: cpressey
17 years agoStyle(9) cleanup to src/sys/vfs, stage 19/21: ufs.
Chris Pressey [Tue, 18 May 2004 00:16:46 +0000 (00:16 +0000)]
Style(9) cleanup to src/sys/vfs, stage 19/21: ufs.

- Convert K&R-style function definitions to ANSI style.

Submitted-by: Andre Nathan <andre@digirati.com.br>
Additional-reformatting-by: cpressey
17 years agoQuickly fix an MLINK while no one is looking...
Hiten Pandya [Mon, 17 May 2004 22:48:09 +0000 (22:48 +0000)]
Quickly fix an MLINK while no one is looking...

17 years agoDocument the ``resource management'' (rman) abstraction in rman(9).
Hiten Pandya [Mon, 17 May 2004 21:46:40 +0000 (21:46 +0000)]
Document the ``resource management'' (rman) abstraction in rman(9).

The rman(9) manual page has sufficient information on the rman_*
functions and some background on the concept of regions and
resources and how rman(9) abstracts them.

Install the necessary MLINKs.

Note:
Some of the functions have been commented out in the mdoc(7) until
I or Joerg get around to updating the DragonFly rman(9) abstraction.
After that is done, other parts of the maual page can be expanded.

Obtained-from:   FreeBSD (HEAD)
Adapted-by: Hiten Pandya <hmp@backplane.com>
17 years agoFix catman(1) so that it recognizes valid manpage names as valid.
Chris Pressey [Mon, 17 May 2004 17:44:26 +0000 (17:44 +0000)]
Fix catman(1) so that it recognizes valid manpage names as valid.
Compare the char at the pointer to '\0', not the pointer itself.

17 years agoBring in a better seeding and random number generation algorithm from
Matthew Dillon [Mon, 17 May 2004 07:35:55 +0000 (07:35 +0000)]
Bring in a better seeding and random number generation algorithm from
FreeBSD for the (old) rand() API.  Add sranddev() to the library and clean
up the manual page.  Note that we are currently using /dev/urandom to
generate the seed to avoid boot-time blocking issues.

Submitted-by: "William M. Grim" <wgrim@siue.edu>
Reviewed by: Joerg Sonnenberger and others

17 years agoFix more ^T panics. calcru() and p_comm also need p_thread checks. Just
Matthew Dillon [Mon, 17 May 2004 07:12:31 +0000 (07:12 +0000)]
Fix more ^T panics.  calcru() and p_comm also need p_thread checks.  Just
move all process data extraction to a critical section and be done with it.

17 years agoFix another race in ^T. ttyprintf() can block, during which time the
Matthew Dillon [Mon, 17 May 2004 02:44:31 +0000 (02:44 +0000)]
Fix another race in ^T.  ttyprintf() can block, during which time the
pointers passed to it may become invalid.  An interrupt can unblock a
process making the p_wmesg (p_thread->td_wmesg) reference either invalid
or cause it to return NULL in between the check and the ttyprintf().

17 years agoINCSLINKS cannot be used to make softlinks within machine/ because
Matthew Dillon [Mon, 17 May 2004 01:03:54 +0000 (01:03 +0000)]
INCSLINKS cannot be used to make softlinks within machine/ because
buildworld's temporary include hierarchy uses a softlink into the source
tree for machine/ (so read only mounts of /usr/src would fail).

Instead, we will require that buildworld properly reference the include
files in their natural locations (e.g. <dev/video/...) and we fix the
softlinks in the make upgrade (upgrade_etc) target.

17 years agoRemove two mis-added .orig files.
Eirik Nygaard [Sun, 16 May 2004 09:22:31 +0000 (09:22 +0000)]
Remove two mis-added .orig files.

Approved-by: Matthew Dillon
17 years agoAdd an MLINK for KKASSERT(9).
Hiten Pandya [Sat, 15 May 2004 19:44:17 +0000 (19:44 +0000)]
Add an MLINK for KKASSERT(9).