Robert Garrett [Fri, 1 Aug 2003 16:30:41 +0000 (16:30 +0000)]
fix ;; in /etc/rc.subr
caught by:qhwt
Robert Garrett [Fri, 1 Aug 2003 10:58:59 +0000 (10:58 +0000)]
Enable SSE by default, add nob to turn it off
Submitted by: Craig Dooley
Aproved by: Matt Dillon
Robert Garrett [Fri, 1 Aug 2003 09:57:34 +0000 (09:57 +0000)]
Update mtree so man pages quit complaining
Robert Garrett [Fri, 1 Aug 2003 04:37:51 +0000 (04:37 +0000)]
attach rc.subr to the build
Robert Garrett [Fri, 1 Aug 2003 04:36:57 +0000 (04:36 +0000)]
Add rc.subr to our list of most informative manpages
Robert Garrett [Fri, 1 Aug 2003 04:31:03 +0000 (04:31 +0000)]
Update rc manpage to reflect RCng
Robert Garrett [Fri, 1 Aug 2003 04:25:15 +0000 (04:25 +0000)]
Add nsswitch.conf.5 to man page build
Robert Garrett [Fri, 1 Aug 2003 04:23:44 +0000 (04:23 +0000)]
update manpage to reflect changes in RCng
Robert Garrett [Fri, 1 Aug 2003 04:11:23 +0000 (04:11 +0000)]
Bring in the man page for nsswitch.conf this is part of RCng
Robert Garrett [Fri, 1 Aug 2003 03:48:33 +0000 (03:48 +0000)]
Let us not forget network.subr either
Robert Garrett [Fri, 1 Aug 2003 03:47:06 +0000 (03:47 +0000)]
Add rc.subr to /etc/Makefile this fixes a bug where
rc.subr is failing to be installed
Matthew Dillon [Thu, 31 Jul 2003 19:56:59 +0000 (19:56 +0000)]
Clear the BSS earlier in the boot sequence and clean up the comments. This
will allow us to not have to worry about .data vs .bss globals in the future
(especially since gcc 3.x 'optimizes' things like (global) int x = 0 -> bss).
Also note that many boot loaders do not clear the bss.
Taken-from: FreeBSD sys/i386/i386/locore.s 1.172 and 1.174 (bde)
Submitted-by: Craig Dooley <cd5697@albany.edu>
Hiten Pandya [Thu, 31 Jul 2003 12:37:39 +0000 (12:37 +0000)]
Get LINT to build.
This commit is a followup to the removal of <machine/asnames.h>:
Attic/asnames.h, rev 1.12:
Remove pre-ELF underscore prefix and asnames macro hacks.
Reported by: http://ps.catpa.com/tinderbox/
Hiten Pandya [Thu, 31 Jul 2003 12:01:38 +0000 (12:01 +0000)]
Generalise, and remove SI_SUB_VINUM; use SI_SUB_RAID instead.
Hiten Pandya [Thu, 31 Jul 2003 11:03:34 +0000 (11:03 +0000)]
LINT breakage fix, part one:
Changes the remaining calls to disable_intr() to cpu_disable_intr()
Reviewed by: dillon
Hiten Pandya [Wed, 30 Jul 2003 05:19:54 +0000 (05:19 +0000)]
- Make `vmstat -i' working after Matt's interrupt related
changes.
- While I am there, make the namelist structure static.
Matthew Dillon [Wed, 30 Jul 2003 02:59:19 +0000 (02:59 +0000)]
Turn off CHECK_POINTS debugging.
David Rhodus [Wed, 30 Jul 2003 01:34:49 +0000 (01:34 +0000)]
Try to distinguish PCS encoding error events
from actual link state change events.
Obtained from: FreeBSD
Matthew Dillon [Wed, 30 Jul 2003 00:20:41 +0000 (00:20 +0000)]
LINT synchronization, remove remaining manually defined MIN macros.
Matthew Dillon [Wed, 30 Jul 2003 00:19:16 +0000 (00:19 +0000)]
syscall messaging 3: Expand the 'header' that goes in front of the syscall
arguments in the kernel copy. The header was previously just an lwkt_msg.
The header is now a 'union sysmsg'. 'union sysmsg' contains an lwkt_msg
plus space for the additional meta data required to asynchronize various
system calls. We haven't actually asynchronized anything yet and will not
be able to until the reply port and abort processing infrastructure is
in place. See sys/sysmsg.h for more information on the new header.
Also cleanup syscall generation somewhat and add some ibcs2 stuff I missed.
David Rhodus [Tue, 29 Jul 2003 23:15:36 +0000 (23:15 +0000)]
Fix CPU stats percentages formatting
so that they never coalesce.
Matthew Dillon [Tue, 29 Jul 2003 21:54:15 +0000 (21:54 +0000)]
Remove KKASSERT(p)'s, 'p' (curproc) no longer exists in this functions.
David Rhodus [Tue, 29 Jul 2003 21:51:07 +0000 (21:51 +0000)]
Fix for trap 12 on KVA space exhaustion.
Possible panic where the available backing
pages for the KVA space are less than the
available memory.
Hiten Pandya [Tue, 29 Jul 2003 21:30:02 +0000 (21:30 +0000)]
Consolidate MIN() usage across kern/ tree.
Submitted by: Craig Dooley <cd5697@albany.edu>
Hiten Pandya [Tue, 29 Jul 2003 21:24:33 +0000 (21:24 +0000)]
style(9) police:
- use tab character with #define
Hiten Pandya [Tue, 29 Jul 2003 21:13:49 +0000 (21:13 +0000)]
Remove INVARIANT_SUPPORT conditional pre-processing on zerror(). Just
use INVARIANTS.
The latter creates unwanted problems when just adding the INVARIANTS
option to the kernel.
Hiten Pandya [Tue, 29 Jul 2003 20:31:03 +0000 (20:31 +0000)]
No need to comment out unused thread/proc declarations (prev. revision),
just remove them.
Suggested by: Matt
Hiten Pandya [Tue, 29 Jul 2003 20:06:35 +0000 (20:06 +0000)]
Comment out the unused proc/thread declarations.
Submitted by: Craig Dooley <cd5697@albany.edu>
Matthew Dillon [Tue, 29 Jul 2003 20:03:08 +0000 (20:03 +0000)]
fileops messaging stage 1: add port and feature mask to struct fileops and
rename fo_ functions to fold.
Matthew Dillon [Tue, 29 Jul 2003 19:39:03 +0000 (19:39 +0000)]
add missing lwkt_msg to manually specified syscall args structure.
Hiten Pandya [Tue, 29 Jul 2003 12:51:30 +0000 (12:51 +0000)]
Kernel Police:
- Fix Mbuf/Malloc flag misuse.
- Remove redundant memset() redifiniton (ng_l2tp.c)
Hiten Pandya [Tue, 29 Jul 2003 12:45:42 +0000 (12:45 +0000)]
Kernel Police:
- Fix Mbuf/Malloc flag misuse.
Robert Garrett [Tue, 29 Jul 2003 00:29:07 +0000 (00:29 +0000)]
Now we can add stat to the build
Robert Garrett [Tue, 29 Jul 2003 00:27:49 +0000 (00:27 +0000)]
The code to print correct time in long format is not currently in
stat, tell it not to use those variables until I can get it added.
Robert Garrett [Tue, 29 Jul 2003 00:22:37 +0000 (00:22 +0000)]
Make stat behave in the default case
Matthew Dillon [Mon, 28 Jul 2003 23:28:57 +0000 (23:28 +0000)]
Fix the msgsys(), semsys(), and shmsys() syscalls which were broken by the
messaging code.
Robert Garrett [Mon, 28 Jul 2003 20:47:10 +0000 (20:47 +0000)]
Import Stat.
This does not tie it into the build, as there are a few wrinkles that
need to be ironed first.
Robert Garrett [Mon, 28 Jul 2003 19:30:53 +0000 (19:30 +0000)]
Remove annoying calls to non existing sysctl's
found by: A lot of people
Hiten Pandya [Mon, 28 Jul 2003 07:27:38 +0000 (07:27 +0000)]
Assorted mdoc(7) fixes:
- nuke the vnode struct out of this file.
- use .Va/.Vt instead of .Dv where appropriate
- use 'manual page' instead of 'man page'
At a later date, it might be good idea to describe
the various vnode struct members in this manual page.
Hiten Pandya [Mon, 28 Jul 2003 06:37:19 +0000 (06:37 +0000)]
Bring us in sync with 4.8-STABLE.
Submitted by: Jeroen Ruigrok van der Werven <asmodai@wxs.nl>
Robert Garrett [Mon, 28 Jul 2003 06:28:23 +0000 (06:28 +0000)]
Fix mergemaster so it doesnt depend on stat
and teach it about $DragonFly$
Thanks to Steve Mynott for catching the $DragonFly$
bit.
Jeffrey Hsu [Mon, 28 Jul 2003 05:59:10 +0000 (05:59 +0000)]
Use relative directory, rather than /sys, as base directory for "make tags".
Remove obsolete directories.
Robert Garrett [Mon, 28 Jul 2003 05:53:20 +0000 (05:53 +0000)]
Update a case where changing the uname to DragonFly would break RCng
Hiten Pandya [Mon, 28 Jul 2003 05:03:25 +0000 (05:03 +0000)]
Bring the malloc/mbuf flags up-to-date with FreeBSD.
Hiten Pandya [Mon, 28 Jul 2003 04:56:35 +0000 (04:56 +0000)]
DDB updates:
- add 'where' as an alias to 'trace'
- add db_print_backtrace() and backtrace() (machine-dependant)
- add 'reset' command
Hiten Pandya [Mon, 28 Jul 2003 04:41:37 +0000 (04:41 +0000)]
Fix building of vm_zone.c in the case of INVARIANTS.
Hiten Pandya [Mon, 28 Jul 2003 04:29:12 +0000 (04:29 +0000)]
Merge from FreeBSD:
- ppsratecheck() - packets/events per second limitation
- ratecheck - time based rate-limiting
Hiten Pandya [Mon, 28 Jul 2003 00:02:44 +0000 (00:02 +0000)]
Oops, fix build before anyone realises. :-)
Hiten Pandya [Sun, 27 Jul 2003 05:36:06 +0000 (05:36 +0000)]
mdoc(7) assorted fixes:
- Nuke usage of .Ar from Section 9. The `.Ar' macro
should only be used for userland manual pages.
- Replace usage of `.Ar' with `.Va' or `.Vt' as necessary.
Hiten Pandya [Sun, 27 Jul 2003 05:33:24 +0000 (05:33 +0000)]
mdoc(7) assorted fixes:
- fix an .Xr instance
David Rhodus [Sun, 27 Jul 2003 03:20:17 +0000 (03:20 +0000)]
Null terminate the new argv[] array when converting 'tar zcf' to
'tar -z -c -f'
Hiten Pandya [Sun, 27 Jul 2003 01:49:53 +0000 (01:49 +0000)]
Consolidate usage of MIN/MAX().
Instead, just remove the conditional processing in sys/param.h so
it's available to all files.
Robert Garrett [Sat, 26 Jul 2003 22:10:03 +0000 (22:10 +0000)]
Register keyword removal
Approved by: Matt Dillon
Robert Garrett [Sat, 26 Jul 2003 22:04:27 +0000 (22:04 +0000)]
Register keyword removal
Approved by: Matt Dillon
Robert Garrett [Sat, 26 Jul 2003 21:56:10 +0000 (21:56 +0000)]
Register keyword removal
Approved by: Matt Dillon
Robert Garrett [Sat, 26 Jul 2003 21:48:49 +0000 (21:48 +0000)]
Register keyword removal
Approved by: Matt Dillon
Robert Garrett [Sat, 26 Jul 2003 21:13:15 +0000 (21:13 +0000)]
Register keyword removal
Approved by: Matt Dillon
Robert Garrett [Sat, 26 Jul 2003 21:00:04 +0000 (21:00 +0000)]
Register keyword removal
Approved by: Matt Dillon
Hiten Pandya [Sat, 26 Jul 2003 20:58:09 +0000 (20:58 +0000)]
Add a handy macro, called FOREACH_PROC_IN_SYSTEM(p) for better
clarity in code and reduce duplication, followup commits will
make use of this macro.
While I am there, change an 'of' to 'if' in a comment for
clarity.
Robert Garrett [Sat, 26 Jul 2003 20:40:10 +0000 (20:40 +0000)]
Register keyword removal
Approved by: Matt Dillon
Robert Garrett [Sat, 26 Jul 2003 20:36:58 +0000 (20:36 +0000)]
Register keyword removal
Approved by: Matt Dillon
Robert Garrett [Sat, 26 Jul 2003 20:19:34 +0000 (20:19 +0000)]
Register keyword removal
Approved by: Matt Dillon
Robert Garrett [Sat, 26 Jul 2003 20:08:38 +0000 (20:08 +0000)]
Register keyword removal
Approved by: Matt Dillon
Robert Garrett [Sat, 26 Jul 2003 19:42:11 +0000 (19:42 +0000)]
Register keyword removal
Approved by: Matt Dillon
Robert Garrett [Sat, 26 Jul 2003 19:27:41 +0000 (19:27 +0000)]
Register keyword removal
Approved by: Matt Dillon
Robert Garrett [Sat, 26 Jul 2003 19:20:33 +0000 (19:20 +0000)]
Register keyword removal
Approved by: Matt Dillon
Robert Garrett [Sat, 26 Jul 2003 19:07:50 +0000 (19:07 +0000)]
Register keyword removal
Approved by: Matt Dillon
Robert Garrett [Sat, 26 Jul 2003 18:53:21 +0000 (18:53 +0000)]
Register keyword removal
Approved by: Matt Dillon
Matthew Dillon [Sat, 26 Jul 2003 18:12:47 +0000 (18:12 +0000)]
syscall messaging 2: Change the standard return value storage for system
calls from proc->p_retval[] to the message structure embedded in the syscall.
System calls used to set their non-error return value in p_retval[] but
must now set it in the message structure. This is a necessary precursor to
any sort of asynchronizatino, for obvious reasons.
This work was particularly annoying because all the emualtion code declares
and manually fills in syscall argument structures.
This commit could potentially destabilize some of the emulation code but I
went through the most important Linux emulation code three times and tested it
with linux-mozilla, so I am fairly confident that I got it right.
Note: proper linux emulation requires setting the fallback elf brand to 3 or
it will default to SVR4. It really ought to default to linux (3), not SVR4.
sysctl -w kern.fallback_elf_brand=3
Matthew Dillon [Sat, 26 Jul 2003 18:09:03 +0000 (18:09 +0000)]
Fix minor bug in last commit, add the required register keyword back in
for a (very rare) __asm register override declaration.
Robert Garrett [Sat, 26 Jul 2003 14:25:27 +0000 (14:25 +0000)]
Register keyword removal
Approved by: Matt Dillon
Robert Garrett [Sat, 26 Jul 2003 14:18:51 +0000 (14:18 +0000)]
Register keyword removal
Approved by: Matt Dillon
Robert Garrett [Sat, 26 Jul 2003 14:12:24 +0000 (14:12 +0000)]
register keyword removal
Approved by:Matt Dillon
Robert Garrett [Sat, 26 Jul 2003 14:07:18 +0000 (14:07 +0000)]
More register axe work (remove the register keyword)
Approved By: Matt Dillon
Robert Garrett [Sat, 26 Jul 2003 13:59:53 +0000 (13:59 +0000)]
register keyword removal
APPROVED BY: Matt Dillon
Robert Garrett [Sat, 26 Jul 2003 13:40:57 +0000 (13:40 +0000)]
Begin register keyword removal commits
Aproved by: Matt Dillon
Matthew Dillon [Sat, 26 Jul 2003 01:04:08 +0000 (01:04 +0000)]
Fix __asm syntax error from previous commit.
Matthew Dillon [Fri, 25 Jul 2003 05:51:19 +0000 (05:51 +0000)]
Performance cleanup. Greatly reduce the number of %fs prefixed globaldata
lookups by taking advantage of the fact that DragonFly does not preemptively
switch threads to other cpus to cache the globaldata pointer, to pass the
current thread to certain inlines rather then force them to reload it from
%fs, and to use td->td_gd to access the globaldata pointer when td is
available rather then mycpu.
This coupled with the curthread optimization done in a prior commit improved
syscall overheads by 60-100ns (about 7%).
Matthew Dillon [Fri, 25 Jul 2003 05:28:54 +0000 (05:28 +0000)]
Remove thread->td_cpu. thread->td_gd (which points to the globaldata
structure) is sufficient. Add e_cpuid to eproc to compensate.
Matthew Dillon [Fri, 25 Jul 2003 05:26:52 +0000 (05:26 +0000)]
Fix a minor bug in lwkt_init_thread() (the thread was being added to the
wrong td_allq).
Remove thread->td_cpu. thread->td_gd (which points to the globaldata
structure) is sufficient. Add e_cpuid to eproc to compensate.
Matthew Dillon [Fri, 25 Jul 2003 03:43:15 +0000 (03:43 +0000)]
Oops, need to update truss's conf files re: new syscall support header
file.
Report-by: David Rhodus <drhodus@catpa.com>
Matthew Dillon [Thu, 24 Jul 2003 23:55:10 +0000 (23:55 +0000)]
Regenerate all system calls
Matthew Dillon [Thu, 24 Jul 2003 23:52:39 +0000 (23:52 +0000)]
Syscall messaging work 2: Continue with the implementation of sendsys(),
using int 0x81. This entry point will be responsible for sending system
call messages or waiting for messages / port activity.
With this commit system call messages can be run through 0x81 but at the
moment they will always run synchronously. Here's the core interface
code for IA32:
static __inline int
sendsys(void *port, void *msg, int msgsize)
{
int error;
__asm __volatile("int $0x81" : "=a"(error) :
"a"(port), "c"(msg), "d"(msgsize) : "memory");
return(error);
}
Performance verses a direct system call is currently excellent considering
that this is my initial attempt.
600MHzC3 1.2GHzP3x2(SMP)
getuid() 1300 ns 909 ns
getuid_msg() 1700 ns 1077 ns
Jeffrey Hsu [Thu, 24 Jul 2003 23:33:33 +0000 (23:33 +0000)]
Add support for RFC 3390, which allows for a variable-sized
initial congestion window.
This decreases the number of round-trip delays required for
short HTTP transfers which never make it out of slow-start.
Matthew Dillon [Thu, 24 Jul 2003 21:41:57 +0000 (21:41 +0000)]
libcr copy: Retarget build paths from ../libc to ../libcr and retarget
the library name from libc to libcr.
Matthew Dillon [Thu, 24 Jul 2003 20:46:47 +0000 (20:46 +0000)]
Fix NULL td crash in net/if.c when detaching a net interface.
Report-by: Joerg Sonnenberger <joerg@britannica.bec.de>
Matthew Dillon [Thu, 24 Jul 2003 20:43:18 +0000 (20:43 +0000)]
Have MFS register a device as a VCHR instead of VBLK, fixing a panic.
Report-by: Joerg Sonnenberger <joerg@britannica.bec.de>
Matthew Dillon [Thu, 24 Jul 2003 20:42:33 +0000 (20:42 +0000)]
Fix some stub prototypes (some missed proc->thread conversions).
Report-by: Joerg Sonnenberger <joerg@britannica.bec.de>
Matthew Dillon [Thu, 24 Jul 2003 06:35:39 +0000 (06:35 +0000)]
Bring RCNG in from 5.x and adjust config files and scripts accordingly.
Bring in the 5.x mergemaster.
Bring in the 5.x rcorder.
Adjust Makefile's and mtree to deal with /etc/rc.d
Submitted-by: ROBERT GARRETT <rg70@sbcglobal.net>
Additional-work-by: dillon
Matthew Dillon [Thu, 24 Jul 2003 01:41:27 +0000 (01:41 +0000)]
Preliminary syscall messaging work. Adjust all <syscall>_args structures
to include an lwkt_msg at their base which will eventually allow syscalls
to run asynch. Note that this is for the kernel copy of the arguments, the
userland argument format has not changed for the standard syscall entry
point.
Begin abstracting a messaging syscall interface (#if 0'd out at the moment).
Change the syscall2 entry point to take the new expanded argument structure
into account. Change sysent argument calculation (AS macro) to take the
new expanded argument structure into account.
Note: existing linux, svr4, and ibcs2 emulation may break with this commit,
though it is not intentional.
Matthew Dillon [Thu, 24 Jul 2003 01:36:22 +0000 (01:36 +0000)]
Add all_sysent target to /usr/src/sys/Makefile to rebuild syscalls.
Matthew Dillon [Thu, 24 Jul 2003 01:31:07 +0000 (01:31 +0000)]
Here is an implementation of Limited Transmit (RFC 3042) for DragonFlyBSD.
This reduces the high latency problems that NewReno often exhibits in the face
of packet loss.
Submitted-by: Jeffrey Hsu <hsu@FreeBSD.org>
Matthew Dillon [Wed, 23 Jul 2003 07:14:19 +0000 (07:14 +0000)]
2003-07-22 Hiten Pandya <hmp@nxad.com>
* MFC FreeBSD rev. 1.189 of kern_exit.c (DONE)
(shmexit to take vmspace instead of proc)
(sort the sys/lock.h include in vm_map.c too)
* MFC FreeBSD rev. 1.143 of kern_sysctl.c (DONE)
(don't panic if sysctl is unregistrable)
* Don't panic when enumerating SYSCTL_NODE()
without children nodes. (DONE)
* MFC FreeBSD rev. 1.113 of kern_sysctl.c (DONE)
(Fix ogetkerninfo() handling for KINFO_BSD_SYSINFO)
* MFC FreeBSD rev. 1.103 of kern_sysctl.c (DONE)
(Never reuse AUTO_OID values)
* MFC FreeBSD rev 1.21 of i386/include/bus_dma.h
(BUS_DMAMEM_NOSYNC -> BUS_DMA_COHERENT)
* MFC FreeBSD rev. 1.19 of i386/include/bus_dma.h (DONE)
(Implement real read/write barriers for i386)
Submitted by: Hiten Pandya <hmp@FreeBSD.ORG>
Matthew Dillon [Wed, 23 Jul 2003 06:21:01 +0000 (06:21 +0000)]
Merge from FreeBSD 2003/07/15 15:49:53 PDT commit to sys/netinet.
Unify the "send high" and "recover" variables as specified in the
lastest rev of the spec. Use an explicit flag for Fast Recovery. [1]
Fix bug with exiting Fast Recovery on a retransmit timeout
diagnosed by Lu Guohan. [2]
Original Commit by: Jeffrey Hsu <hsu@FreeBSD.org>
Matthew Dillon [Wed, 23 Jul 2003 06:02:38 +0000 (06:02 +0000)]
LINT cleanup, add a static function back in which I thought wasn't used.
Matthew Dillon [Wed, 23 Jul 2003 02:30:24 +0000 (02:30 +0000)]
LINT pass. Cleanup missed proc->thread conversions and get rid of warnings.
Matthew Dillon [Tue, 22 Jul 2003 22:10:51 +0000 (22:10 +0000)]
Remove two unnecessary volatile qualifications.
Matthew Dillon [Tue, 22 Jul 2003 17:03:35 +0000 (17:03 +0000)]
DEV messaging stage 2/4: In this stage all DEV commands are now being
funneled through the message port for action by the port's beginmsg function.
CONSOLE and DISK device shims replace the port with their own and then
forward to the original. FB (Frame Buffer) shims supposedly do the same
thing but I haven't been able to test it. I don't expect instability
in mainline code but there might be easy-to-fix, and some drivers still need
to be converted. See primarily: kern/kern_device.c (new dev_*() functions and
inherits cdevsw code from kern/kern_conf.c), sys/device.h, and kern/subr_disk.c
for the high points.
In this stage all DEV messages are still acted upon synchronously in the
context of the caller. We cannot create a separate handler thread until
the copyin's (primarily in ioctl functions) are made thread-aware.
Note that the messaging shims are going to look rather messy in these early
days but as more subsystems are converted over we will begin to use
pre-initialized messages and message forwarding to avoid having to constantly
rebuild messages prior to use.
Note that DEV itself is a mess oweing to its 4.x roots and will be cleaned
up in subsequent passes. e.g. the way sub-devices inherit the main device's
cdevsw was always a bad hack and it still is, and several functions
(mmap, kqfilter, psize, poll) return results rather then error codes, which
will be fixed since now we have a message to store the result in :-)
Matthew Dillon [Tue, 22 Jul 2003 05:04:41 +0000 (05:04 +0000)]
Throw better sanity checks into vfs_hang_addrlist() for argp->ex_addrlen
and argp->ex_masklen which are otherwise totally unchecked from userland.
Matthew Dillon [Mon, 21 Jul 2003 07:57:52 +0000 (07:57 +0000)]
LINT build test. Aggregated source code adjustments to bring most of the
rest of the kernel source up to date, using the LINT build.