dragonfly.git
15 years agoasync syscall work: The async syscall code got dated by recent LWKT
Matthew Dillon [Fri, 4 Jun 2004 20:35:39 +0000 (20:35 +0000)]
async syscall work: The async syscall code got dated by recent LWKT
changes, set mp_abort_port and clear MSGF_DONE as appropriate.

If a system call returns EASYNC, record the message in p->p_sysmsgq so we
can run them down in exit1().

In exit1(), run down any asynch system calls that are still running.  Note
that this commit does not implement abort support (yet).

Get rid of lwkt_port->mp_refs, it was not being used and it is likely never
going to be used (reference counting LWKT is hazzardous anyway since it
doesn't really fit the access model).

Add lwkt_checkmsg() to support some of the rearranged async syscall code.

15 years agoRemove dtom(). dtom() is no longer supported (precursor requirement for
Matthew Dillon [Fri, 4 Jun 2004 20:29:02 +0000 (20:29 +0000)]
Remove dtom().  dtom() is no longer supported (precursor requirement for
eventual mbuf allocator replacement).

15 years agoUse a normal malloc() for PCB allocations instead of the really aweful mbuf
Matthew Dillon [Fri, 4 Jun 2004 20:27:32 +0000 (20:27 +0000)]
Use a normal malloc() for PCB allocations instead of the really aweful mbuf
hacks that were previously being used (which also gets rid of the remaining
dtom() calls).

Get rid of the packet/queue overloading and instead malloc() a queue header
for queueing packets.  The old code depended on dtom() to figure out the
mbuf associated with the packet and we are removing dtom().

Give NS a default usrreq so it doesn't panic the system on boot, but note
that NS will remain broken until the usrreq can be tied into the existing
code.

Review and testing by: Hiten Pandya and David Rhodus

15 years agoRe-arrange the 'Executable' column for the '-l' option so that long
Hiten Pandya [Fri, 4 Jun 2004 17:30:26 +0000 (17:30 +0000)]
Re-arrange the 'Executable' column for the '-l' option so that long
pathnames are printed correctly.

Suggested-by: Matthew Dillon <dillon at backplane.com>

15 years agoContinue cleaning em(4).
Joerg Sonnenberger [Fri, 4 Jun 2004 16:32:11 +0000 (16:32 +0000)]
Continue cleaning em(4).

Merge PCI resource allocation / deallocation into em_attach and em_detach.
Change the order of allocations in em_attach to work without splimp()
protection.
Remove adapter->unit, adapter->next and adapter->prev.
Use em_detach for the error handling in em_attach as well.
Move the reset of if_timer into em_stop.
Use adapter->hw.mac_addr instead of arpcom's entry.

15 years agoAllow top(1) to toggle display of processes+threads or *only* threads
Hiten Pandya [Fri, 4 Jun 2004 11:21:53 +0000 (11:21 +0000)]
Allow top(1) to toggle display of processes+threads or *only* threads
by adding a '-O' command line argument and run-time toggle.

This is useful when one wants to only monitor activity of current
active threads.

Document this new functionality and update the patches accordingly.

Requested-by: David Rhodus <drhodus@machdep.com>

15 years agoDeprecate use of m_act, which is an alias of m_nextpkt; just use
Hiten Pandya [Fri, 4 Jun 2004 07:45:46 +0000 (07:45 +0000)]
Deprecate use of m_act, which is an alias of m_nextpkt; just use
m_nextpkt instead.

15 years agoAdd MPF_INT (for mpipe_init()), which allows one to specify that an MPIPE
Matthew Dillon [Fri, 4 Jun 2004 06:56:12 +0000 (06:56 +0000)]
Add MPF_INT (for mpipe_init()), which allows one to specify that an MPIPE
allocation request may use the interrupt memory reserve.

15 years agoFlush cached access mode after modifying a files attributes for NFSv3.
Hiten Pandya [Fri, 4 Jun 2004 05:06:40 +0000 (05:06 +0000)]
Flush cached access mode after modifying a files attributes for NFSv3.
It's likely that modifying the attiributes will affect the file's
accessibility

Fix created by Ian Dowse and Peter Edwards of the FreeBSD Project.
Test case available in PR# 44336 in FreeBSD GNATS.

15 years agoUse MPIPE instead of misusing m_getclr() (i.e. m_get) for NETNS's
Matthew Dillon [Fri, 4 Jun 2004 04:59:57 +0000 (04:59 +0000)]
Use MPIPE instead of misusing m_getclr() (i.e. m_get) for NETNS's
struct nspcb.  This also gets rid of a dtom() call.

Note: the changes compile but are untested.

15 years agoUse MPIPE instead of the really hackish use of m_get() and mtod()/dtom()
Matthew Dillon [Fri, 4 Jun 2004 04:32:23 +0000 (04:32 +0000)]
Use MPIPE instead of the really hackish use of m_get() and mtod()/dtom()
for the 'tcptemp' structure.

15 years agoRemove dtom() in unused (#ifndef notdef'd) code. Well, just remove the whole
Matthew Dillon [Fri, 4 Jun 2004 04:30:55 +0000 (04:30 +0000)]
Remove dtom() in unused (#ifndef notdef'd) code.  Well, just remove the whole
of the related #ifdef notdef'd sections.

15 years agoTEST
Matthew Dillon [Fri, 4 Jun 2004 04:25:07 +0000 (04:25 +0000)]
TEST

15 years agoUse MPIPE instead of (the really aweful improper use of) mbuf_alloc() for
Matthew Dillon [Fri, 4 Jun 2004 03:57:41 +0000 (03:57 +0000)]
Use MPIPE instead of (the really aweful improper use of) mbuf_alloc() for
struct ipq.  This also gets rid of a nasty dtoc().

15 years agoANSIfication. No functional changes.
Matthew Dillon [Fri, 4 Jun 2004 01:46:49 +0000 (01:46 +0000)]
ANSIfication.  No functional changes.

15 years agoms_cmd has changed to a union, update the test code.
Matthew Dillon [Thu, 3 Jun 2004 21:03:32 +0000 (21:03 +0000)]
ms_cmd has changed to a union, update the test code.

15 years agoAdd a manual page which describes the vn_fullpath(9) function.
Hiten Pandya [Thu, 3 Jun 2004 19:26:36 +0000 (19:26 +0000)]
Add a manual page which describes the vn_fullpath(9) function.

Adapted from the manual page in the FreeBSD CVS repository.

15 years agoMake pr_input use variadic arguments for anything but the first mbuf.
Joerg Sonnenberger [Thu, 3 Jun 2004 18:30:04 +0000 (18:30 +0000)]
Make pr_input use variadic arguments for anything but the first mbuf.

Add a warning for NSIP, it is likely to be broken.

15 years agoLock manipulation of the 'exec_res_list', i.e., the list of resident
Hiten Pandya [Thu, 3 Jun 2004 18:17:43 +0000 (18:17 +0000)]
Lock manipulation of the 'exec_res_list', i.e., the list of resident
executables.

Requested-by:
Joerg Sonnenberger <joerg@bec.de>, Matthew Dillon <dillon@backplane.com>

15 years agoSurround a multi-line conditional block with braces for readability.
Hiten Pandya [Thu, 3 Jun 2004 18:12:41 +0000 (18:12 +0000)]
Surround a multi-line conditional block with braces for readability.

Suggested-by: Matthew Dillon <dillon at backplane.com>

15 years agoRemove the compat macro textvp_fullpath(), and use vn_fullpath()
Hiten Pandya [Thu, 3 Jun 2004 18:09:33 +0000 (18:09 +0000)]
Remove the compat macro textvp_fullpath(), and use vn_fullpath()
directly.

Discussed-with:  Matthew Dillon <dillon at backplane.com>

15 years agoCleanup the manual page:
Hiten Pandya [Thu, 3 Jun 2004 16:37:05 +0000 (16:37 +0000)]
Cleanup the manual page:

* add an AUTHORS section.

* use the '.Pa' command to markup a filename.

* remove hard sentence breaks and an empty section command.

15 years agoVM Resident Executables update:
Hiten Pandya [Thu, 3 Jun 2004 16:28:15 +0000 (16:28 +0000)]
VM Resident Executables update:

Kernel Part:

* decrement the exec_res_id counter in exec_sys_unregister, otherwise
  we will have an incorrect count of currently resident executables.

* add a structure called 'xresident' which stores enough information
  about resident executables, so that we can export it to userland
  via sysctl; the structure resides in sys/resident.h.

* add a sysctl node, called 'vm.resident' which enumerates though
  exec_res_list, i.e., the queue which stores information about the
  executables that are currently resident

* move the exec_res_list queue initialization and a MALLOC_DEFINE
  near the top of the file, right after the include files; and also
  initialize the exec_res_id counter to '0'.

NOTE! The 'vm.resident' sysctl node is only available to root!

Userland Part:

* add a '-l' option to resident(8), so that it displays the list
  of executables that are currently memory-resident.

* update the program usage string so that it is in par with the
  functionality offered by the program.

* update the manual page.

Requested-by: many...
Discussed-with:  Matthew Dillon <dillon@backplane.com>

15 years agoMake pr_domain and pr_usrreqs pointers to const. The general stack is not
Joerg Sonnenberger [Thu, 3 Jun 2004 16:21:22 +0000 (16:21 +0000)]
Make pr_domain and pr_usrreqs pointers to const. The general stack is not
supposed to change this and it allows us to make all this structures
const like they should be. If a network protocol wants to modify them,
they can still either modify the private version directly or create a copy
and change that.

15 years agoCleanup the textvp_fullpath() function; summary of changes:
Hiten Pandya [Thu, 3 Jun 2004 15:54:14 +0000 (15:54 +0000)]
Cleanup the textvp_fullpath() function; summary of changes:

* rename it to vn_fullpath(), and move prototype to sys/vnode.h;
  for now, keep a compat macro called textvp_fullpath(); this
  macro is temporary until I change linprocfs and procfs to play
  with vn_fullpath().

* rename last argument to 'freebuf', instead of 'retfreebuf'.

* if the second argument (vnode pointer) is NULL, fall back
  and use the passed-in process' p->p_textvp.

* make sure the client passes a process pointer, otherwise
  return EINVAL.

A manual page will be added real soon.

15 years agoQuotactl(2) should set the uid correctly, based on the QUOTA type supplied.
Hiten Pandya [Thu, 3 Jun 2004 15:40:22 +0000 (15:40 +0000)]
Quotactl(2) should set the uid correctly, based on the QUOTA type supplied.

Previously, it would set the uid to p->p_ucred->cr_ruid unconditionally
without checking if the QUOTA type is GRPQUOTA or USRQUOTA; thus allowing
a user with UID X to access the groupquota of gid X.

Inspired-by: PR# 33940 (by Vladimir B. Grebenschikov) [FreeBSD GNATS]

15 years agoRemove some long gone #defines, PFCLUSTER_BEHIND and PFCLUSTER_AHEAD;
Hiten Pandya [Thu, 3 Jun 2004 15:29:43 +0000 (15:29 +0000)]
Remove some long gone #defines, PFCLUSTER_BEHIND and PFCLUSTER_AHEAD;

This change was inspired by a similar change made in FreeBSD's HEAD
a few months ago by:

Alan Cox <alc at freebsd.org>

No operational changes.

15 years agoChange pr_output's signature to take two fixed arguments and possible
Joerg Sonnenberger [Thu, 3 Jun 2004 15:04:52 +0000 (15:04 +0000)]
Change pr_output's signature to take two fixed arguments and possible
additional varidic arguments. Change the various protocols accordingly.

This is not the signature NetBSD uses (only struct mbuf * + variadic),
but since all protocols use the socket argument (beside NS), it is more
reasonable to keep that static as well.

While at it, fix the pr_soport in ip6protosw to match the protosw.

15 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

15 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.

15 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

15 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

15 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.

15 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
15 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>
15 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.

15 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>
15 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

15 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

15 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.

15 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.

15 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.

15 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.

15 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 ---

15 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>

15 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>
15 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.

15 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.

15 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

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

15 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.

15 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.

15 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.

15 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.

15 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>

15 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.

15 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.

15 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.

15 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>
15 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>
15 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>
15 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).

15 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>
15 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>
15 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.

15 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>

15 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>
15 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>

15 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.

15 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.

15 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?

15 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.

15 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>

15 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!
15 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.

15 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)

15 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.

15 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>
15 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.

15 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.

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

15 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.

15 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>
15 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>
15 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.

15 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.

15 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>
15 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.

15 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

15 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.

15 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
15 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>.

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

15 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.

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

15 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).

15 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.

15 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.

15 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
15 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.