Sascha Wildner [Wed, 16 Jun 2010 10:06:28 +0000 (12:06 +0200)]
ioprio_get.2: Remove < and > from an .In.
Sascha Wildner [Tue, 15 Jun 2010 10:05:34 +0000 (12:05 +0200)]
Remove obsolete MLINKS via 'make upgrade'.
Joe Talbott [Mon, 14 Jun 2010 15:11:25 +0000 (11:11 -0400)]
if_ral - Serialzer the interrupt handler.
Venkatesh Srinivas [Mon, 14 Jun 2010 13:34:17 +0000 (06:34 -0700)]
kernel - MPSAFE work - Remove unneeded token acquire/releases in vm_mmap.c
Many calls in vm_mmap did not need to hold the vm_token; the underlying
vm_map_* calls are self-synchronizing via a lockmgr lock on the map itself and
the rest of the calls were synchronized by taking tokens.
Comment the remaining token acquires/releases.
'Less Lock, More Rock'
Venkatesh Srinivas [Mon, 14 Jun 2010 12:59:51 +0000 (05:59 -0700)]
kernel - MPSAFE work - Remove token acquires/releases from vm_zeroidle.c
We do not need the vm_token to get or release pages to/from the free queues;
the vm_page calls are self-synchronizing.
Nicolas Thery [Mon, 14 Jun 2010 11:12:27 +0000 (13:12 +0200)]
kernel - init t_collisions in lwkt_token_init
Nicolas Thery [Sat, 12 Jun 2010 14:17:48 +0000 (16:17 +0200)]
kernel - token - update outdated comments
Nicolas Thery [Sat, 12 Jun 2010 14:02:27 +0000 (16:02 +0200)]
token.9 - bring up to date with token API change
Constantine A. Murenin [Mon, 14 Jun 2010 04:21:52 +0000 (00:21 -0400)]
aibs(4): if-statement spacing; from rpaulo
Sascha Wildner [Mon, 14 Jun 2010 01:25:11 +0000 (03:25 +0200)]
Fix x86_64 buildworld: Use correct type in udevd (size_t -> socklen_t).
Reported-by: Tyler W. Mills <tylermills@gmail.com>
Matthew Dillon [Sun, 13 Jun 2010 18:03:17 +0000 (11:03 -0700)]
kernel - MPSAFE work - fix bugs in recent MPSAFE work.
* pmap_incore() needed the vm_token.
Matthew Dillon [Sun, 13 Jun 2010 16:31:25 +0000 (09:31 -0700)]
kernel - MPSAFE work - fix bugs in recent MPSAFE work.
* Adjust comment for zpfind(), it does not PHOLD() the returned process,
in order to match pfind().
* Adjust two use-cases for zpfind() to hold proc_token across the call,
and to PHOLD/PRELE(p) if necessary, so (p) remains stable.
Reported-by: Venkatesh Srinivas <vsrinivas@crater.dragonflybsd.org>
Matthew Dillon [Sun, 13 Jun 2010 16:16:01 +0000 (09:16 -0700)]
kernel - MPSAFE work - fix bugs in recent MPSAFE work.
* pgfind() and zpfind() were failing to release a token they
had acquired under certain circumstances.
Reported-by: Alex Hornung <ahornung@gmail.com>:
Sascha Wildner [Sun, 13 Jun 2010 12:13:11 +0000 (14:13 +0200)]
kern_udev.c: Fix a -Wold-style-definition warning.
Alex Hornung [Sun, 13 Jun 2010 08:07:25 +0000 (09:07 +0100)]
linux emu - MPSAFE work - acquire token for mmap
Alex Hornung [Sun, 13 Jun 2010 05:48:58 +0000 (05:48 +0000)]
libdevattr - Fix buildworld
Alex Hornung [Sat, 12 Jun 2010 18:01:13 +0000 (18:01 +0000)]
conf.h - minor (accidental) whitespace cleanup
Alex Hornung [Sat, 12 Jun 2010 16:18:11 +0000 (16:18 +0000)]
udevd & libdevattr - Bind into build system
Alex Hornung [Sat, 12 Jun 2010 16:12:07 +0000 (16:12 +0000)]
Bring in udev & libdevattr
* Bring in kern_udev, libdevattr and udevd from my personal repo. This
is still WIP, but basic functionality is available and the API is
stabilizing.
* kern_udev allows the association of certain parameters in form of a
dictionary to each device in the system and provides notification of
attach and detach events.
* udevd is a userland daemon which keeps an up to date list of all
devices and their dictionaries and provides an interface for
libdevattr to acccess and manipulate these devices and related events.
* libdevattr provides a mostly Linux' libudev compatible API to access
device dictionaries and events. Beware that it is NOT a full drop-in
replacement!
Venkatesh Srinivas [Sun, 13 Jun 2010 04:06:13 +0000 (21:06 -0700)]
kernel - MPSAFE work - restore mplock to i386 lwbuf pmap_kremove_quick call.
Matthew Dillon [Sun, 13 Jun 2010 04:04:38 +0000 (21:04 -0700)]
kernel - MPSAFE work - tokenize vm_zone.c
* Tokenize vm/vm_zone.c
Matthew Dillon [Sun, 13 Jun 2010 03:09:50 +0000 (20:09 -0700)]
kernel - MPSAFE work - tokenize more vm stuff
* Tokenize the vkernel entry points. The module is fairly compact so
a per-vkernel token was used right off the bat instead of a global token.
* Also fix a couple of races in the vkernel implementation to make things
more robust.
Sascha Wildner [Sat, 12 Jun 2010 23:56:48 +0000 (01:56 +0200)]
evtranalyze.1: Oops, add back the '.' I removed by mistake.
Sascha Wildner [Sat, 12 Jun 2010 23:12:22 +0000 (01:12 +0200)]
evtranalyze.1: Fix some .El mixup.
Aggelos Economopoulos [Sat, 12 Jun 2010 21:33:21 +0000 (00:33 +0300)]
evtranalyze.1: update and expand manpage
- Update description of the stats command
- Add an EXAMPLES section
- Start sentences on a new line.
Mdoc-review-by: swildner@
Aggelos Economopoulos [Sat, 12 Jun 2010 21:27:21 +0000 (00:27 +0300)]
libevtr: make prototype-less function static
Aggelos Economopoulos [Sat, 12 Jun 2010 02:01:27 +0000 (05:01 +0300)]
evtranalyze: plotting capability
We can now generate histograms and (x, y) line plots
via ploticus (if available)
Aggelos Economopoulos [Sat, 12 Jun 2010 00:17:44 +0000 (03:17 +0300)]
libevtr: abort() on impossible case
Matthew Dillon [Sat, 12 Jun 2010 21:01:05 +0000 (14:01 -0700)]
kernel - MPSAFE work - tokenize more vm stuff
Sascha Wildner [Sat, 12 Jun 2010 20:09:38 +0000 (22:09 +0200)]
sleep.9: Use .Fn instead of .Nm
Sascha Wildner [Sat, 12 Jun 2010 18:13:52 +0000 (20:13 +0200)]
Fix typos in the licenses: withough -> without
Reported-by: vsrinivas
Venkatesh Srinivas [Sat, 12 Jun 2010 17:26:43 +0000 (10:26 -0700)]
Merge branch 'master' of /repository/git/dragonfly
Venkatesh Srinivas [Sat, 12 Jun 2010 17:25:37 +0000 (10:25 -0700)]
kernel - MPSAFE work - tokenize i386 lwbuf
Sascha Wildner [Sat, 12 Jun 2010 16:45:16 +0000 (18:45 +0200)]
network code: Convert if_multiaddrs from LIST to TAILQ.
It can then be traversed backwards in the three drivers which want
to do that.
Taken-from: FreeBSD
Matthew Dillon [Sat, 12 Jun 2010 16:53:22 +0000 (09:53 -0700)]
kernel - MPSAFE work - tokenize more vm stuff
Matthew Dillon [Sat, 12 Jun 2010 16:52:52 +0000 (09:52 -0700)]
kernel - Add MTX_INITIALIZER
* Add an initializer for static struct mtx declarations
Matthew Dillon [Sat, 12 Jun 2010 16:29:17 +0000 (09:29 -0700)]
iscsi - Fix bug in iscsi initiator driver
* The iscsi initiator was trying to record the thread pointer for the
original caller attaching the connection, but that caller is strictly
temporary.
Record the kernel thread created by the attachment instead of the
caller's thread.
Reported-by: Antonio Huete Jimenez <tuxillo@quantumachine.net>:
Venkatesh Srinivas [Sat, 12 Jun 2010 14:42:12 +0000 (07:42 -0700)]
Merge branch 'master' of /repository/git/dragonfly
Venkatesh Srinivas [Sat, 12 Jun 2010 14:38:20 +0000 (07:38 -0700)]
kernel - MPSAFE work - tokenize vm/vm_mmap.c, part 2
vm_mmap() now takes the vm token. This seemed like a better idea than modifying
all of the callers to have knowledge of the vm locking strategy.
Venkatesh Srinivas [Sat, 12 Jun 2010 12:47:06 +0000 (05:47 -0700)]
kernel - MPSAFE work - first pass at tokenizing vm/vm_mmap.c
Incomplete - vm_mmap() itself requires the MP lock still and called
from a number of places without the vm token.
Sascha Wildner [Sat, 12 Jun 2010 12:40:17 +0000 (14:40 +0200)]
ral(4) firmware: Explicitly including <bsd.subdir.mk> isn't needed.
Matthew Dillon [Sat, 12 Jun 2010 05:01:34 +0000 (22:01 -0700)]
kernel - MPSAFE work - tokenize vm/vm_map.c
* Tokenize vm/vm_map.c. Also mark vm_init.c as being MPSAFE.
* Replace ++vm->vm_exitingcnt with an API call vmspace_exitbump().
* Add an argument to vm_map_check_protection() to fix an issue where
it was sometimes being called with the vm_map lock held and sometimes
not.
* Redo most of the code comments in vm_map.c
Matthew Dillon [Sat, 12 Jun 2010 04:59:36 +0000 (21:59 -0700)]
kernel - MPSAFE work - add vmspace_token
* Add a global token, vmspace_token
Matthew Dillon [Sat, 12 Jun 2010 04:32:10 +0000 (21:32 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Sat, 12 Jun 2010 04:31:08 +0000 (21:31 -0700)]
top - Fix seg-fault when window made very wide
* Fix a static buffer overflow when the window is made very wide.
Taken-from: NetBSD
Submitted-by: Trevor Kendall
Sascha Wildner [Sat, 12 Jun 2010 03:07:57 +0000 (05:07 +0200)]
Run makewhatis(8) after 'make upgrade' instead of after 'make installworld'.
'make upgrade' does (among other things) remove obsolete manual pages. If
makewhatis(8) is run after 'make installworld' (i.e. before upgrade), the
whatis database will still contain them. Therefore, run makewhatis(8)
after 'make upgrade' when the removals are done.
Pointed-out-by: tuxillo
While here, clean up the upgrade target in /usr/src/Makefile a little bit.
Matthew Dillon [Sat, 12 Jun 2010 00:20:11 +0000 (17:20 -0700)]
kernel - add lockowned()
* Add a simple function which returns TRUE if a lockmgr lock is likely
owned by the caller. Shared lock ownership can only be approximated.
Designed for use in assertions.
Joe Talbott [Fri, 11 Jun 2010 18:02:03 +0000 (14:02 -0400)]
ieee80211_ioctl - Replace free() calls with kfree().
Joe Talbott [Fri, 11 Jun 2010 17:48:45 +0000 (13:48 -0400)]
wlan - Bring in some fixes from FreeBSD.
Joe Talbott [Wed, 2 Jun 2010 17:40:50 +0000 (13:40 -0400)]
ralfw - Add firmware for ral(4)
Taken-From: FreeBSD
Sascha Wildner [Fri, 11 Jun 2010 17:25:19 +0000 (19:25 +0200)]
Remove the no longer used CY_PCI_FASTINTR and PUC_FASTINTR kernel options.
Venkatesh Srinivas [Thu, 10 Jun 2010 19:03:40 +0000 (15:03 -0400)]
MPSAFE: Tokenize vm_unix.c
Venkatesh Srinivas [Fri, 11 Jun 2010 05:27:26 +0000 (22:27 -0700)]
kernel - MPSAFE work - tokenize vm_zeroidle.c
Venkatesh Srinivas [Sat, 5 Jun 2010 01:16:31 +0000 (18:16 -0700)]
vm: Detect and enable bzeront() when available for vm zeroidle.
bzeront() is available when SSE is detected and mmxopt = 1.
Venkatesh Srinivas [Sat, 5 Jun 2010 01:12:51 +0000 (18:12 -0700)]
vm: Add variable sleep time to vm_zeroidle.
Sleep for longer periods of time than hz/10 when zeroidle is disabled or when
there are a lot of zero pages.
Matthew Dillon [Fri, 11 Jun 2010 03:45:32 +0000 (20:45 -0700)]
kernel - MPSAFE work - lockup vm_page.c, vm_fault.c
* Tokenize the vm_page.c API
* Tokenize the vm_fault.c API
Venkatesh Srinivas [Sat, 5 Jun 2010 01:01:39 +0000 (18:01 -0700)]
libc: Add assembler versions of fls, flsl, and ffsl for i386 and x86_64.
Sascha Wildner [Thu, 10 Jun 2010 19:49:05 +0000 (21:49 +0200)]
ath(4): Some cleanup regarding ether_sprintf().
We don't have it, but we can use kprintf("%6D", <addr>, ":") instead.
Venkatesh Srinivas [Thu, 10 Jun 2010 17:53:38 +0000 (13:53 -0400)]
Test commit.
Sascha Wildner [Thu, 10 Jun 2010 15:23:19 +0000 (17:23 +0200)]
Move some FreeBSD CVS IDs to the comments.
Sascha Wildner [Thu, 10 Jun 2010 13:52:00 +0000 (15:52 +0200)]
Fix some -Wold-style-definition warnings in the x86_64 kernel build.
Matthew Dillon [Thu, 10 Jun 2010 06:06:41 +0000 (23:06 -0700)]
kernel - MPSAFE work - lockup vm_object.c
* Tokenize the vm_object.c API
Matthew Dillon [Thu, 10 Jun 2010 05:49:31 +0000 (22:49 -0700)]
kernel - MPSAFE work - lockup i386 pmap
* Put the critical sections that were removed from pmap.c back in.
Removing them was a bit premature. They can be removed once all
the vm_*.c files are tokenized.
Matthew Dillon [Thu, 10 Jun 2010 03:25:56 +0000 (20:25 -0700)]
kernel - MPSAFE - Fix UP build issue
* Add #ifdef SMP around mpcount test, set token to mpsafe unconditionally
when compiling UP.
Submitted-by: Sascha Wildner <saw@online.de>
Matthew Dillon [Thu, 10 Jun 2010 02:02:54 +0000 (19:02 -0700)]
kernel - MPSAFE work - lockup i386 pmap
* Tokenize the pmap API in platform/pc32/i386/pmap.c
* Cleanup comments. (non-block) interrupts are now always scheduled so
pmap operations are no longer called from them. And IPIs are not allowed
to do anything so sophisticated as to modify pmaps.
* Add a comment at the top indicating that the entire file is MPSAFE.
Matthew Dillon [Thu, 10 Jun 2010 00:13:57 +0000 (17:13 -0700)]
kernel - remove INTR_FAST
Rename INTR_FAST to INTR_CLOCK. Fast interrupts are now only supported for
clock interrupts and may no longer be used by drivers.
* Rename INTR_FAST to INTR_CLOCK
* Adjust clocks to use INTR_CLOCK and remove INTR_FAST from the few drivers
that specified it (if_em is the only one of note).
Matthew Dillon [Thu, 10 Jun 2010 00:10:51 +0000 (17:10 -0700)]
kernel - MPSAFE work - adjust global tokens
* Remove vm_object_token, vm_map_token, vm_page_token
* Add vm_token and kvm_token
Matthew Dillon [Wed, 9 Jun 2010 22:27:49 +0000 (15:27 -0700)]
kernel - MPSAFE work - Remove unused code
* Remove pmap_qenter2()
* Remove pmap_pvdump() and related helper code
Matthew Dillon [Wed, 9 Jun 2010 18:32:40 +0000 (11:32 -0700)]
kernel - MPSAFE work - Add cpu_pause() in scheduler contention path
* Add a cpu_pause() to the scheduler contention path to reduce intra-cpu
cache management effects.
Matthew Dillon [Wed, 9 Jun 2010 04:48:22 +0000 (21:48 -0700)]
kernel - MPSAFE work - fast-path UP tokens when the mplock is already held
* Optimize the case where a UP token is acquired and the MP lock is already
held, greatly reducing the acquisition & release overhead.
When the MP lock is already held we do not have to acquire it again
recursively, which saves us lots of unnecessary calls to get_mplock()
and rel_mplock().
Matthew Dillon [Wed, 9 Jun 2010 04:37:24 +0000 (21:37 -0700)]
kernel - MPSAFE work - Add global tokens
* Add global tokens for various subsystems but do not use them (yet).
Tie in mpsafe and collision count sysctls.
* Add a collision counter to the lwkt_token structure.
* Simplify the lwkt_token initializer macros.
* Minor namespace cleanup for sys/thread.h, place an #ifdef _KERNEL around
the procedure prototypes.
Sascha Wildner [Tue, 8 Jun 2010 07:29:21 +0000 (09:29 +0200)]
Makefile_upgrade.inc: Properly sort ionice.
Sascha Wildner [Tue, 8 Jun 2010 01:09:34 +0000 (03:09 +0200)]
Add a small standards(7) manual page.
So far it explains the _POSIX_C_SOURCE and _XOPEN_SOURCE macros.
Sascha Wildner [Mon, 7 Jun 2010 09:25:47 +0000 (11:25 +0200)]
pthread.3: Fix library name.
Sascha Wildner [Mon, 7 Jun 2010 01:29:15 +0000 (03:29 +0200)]
indent.1: Add missing description of -bs/-nbs.
Matthew Dillon [Sun, 6 Jun 2010 17:26:42 +0000 (10:26 -0700)]
kernel - lwkt_token revamp
* Simplify the token API. Hide the lwkt_tokref mechanics and simplify
the lwkt_gettoken()/lwkt_reltoken() API to remove the need to declare
and pass a lwkt_tokref along with the token.
This makes tokens operate more like locks. There is a minor restriction
that tokens must be unlocked in exactly the reverse order they were locked
in, and another restriction limiting the maximum number of tokens a thread
can hold to defined value (32 for now).
The tokrefs are now an array embedded in the thread structure.
* Improve performance when blocking and unblocking threads with recursively
held tokens.
* Improve performance when acquiring the same token recursively. This
operation is now O(1) and requires no locks or critical sections of any
sort.
This will allow us to acquire redundant tokens in deep call paths
without having to worry about performance issues.
* Add a flags field to the lwkt_token and lwkt_tokref structures and add
a flagged feature which will acquire the MP lock along with a particular
token. This will be used as a transitory mechanism in upcoming MPSAFE
work.
The mplock feature in the token structure can be directly connected
to a mpsafe sysctl without being vulnerable to state-change races.
Sascha Wildner [Sun, 6 Jun 2010 10:43:01 +0000 (12:43 +0200)]
vesa(4): Remove definition and usage of the obsolete V_MODEOPTINFO flag.
Prior to VBE 1.2, this flag specified whether optional information
for the mode was available in the ModeInfoBlock structure. Starting
with 1.2 this information became mandatory and the D1 bit became
reserved.
Since we claim to only support cards conforming to VBE 1.2 and higher,
adjust the code to no longer take this bit into account and remove its
definition.
Jan Lentfer [Tue, 9 Mar 2010 20:47:14 +0000 (21:47 +0100)]
drill: Import dig replacement into base.
Jan Lentfer [Tue, 9 Mar 2010 20:45:10 +0000 (21:45 +0100)]
libldns: Import alternative DNS Library into base
Jan Lentfer [Tue, 9 Mar 2010 20:42:10 +0000 (21:42 +0100)]
Initial vendor import of ldns-1.6.4 into contrib.
Matthew Dillon [Sat, 5 Jun 2010 22:56:24 +0000 (15:56 -0700)]
kernel - add short-form mutex calls
* Add short-form calls mtx_lock() and mtx_spinlock() which get a mutex
exclusively and omit extranious arguments.
Sascha Wildner [Sat, 5 Jun 2010 15:00:52 +0000 (17:00 +0200)]
mutex.9: Fix typo.
Sascha Wildner [Sat, 5 Jun 2010 01:03:42 +0000 (03:03 +0200)]
indent(1): Sync with FreeBSD (brings in -ta).
Sascha Wildner [Fri, 4 Jun 2010 19:47:40 +0000 (21:47 +0200)]
libprop: Comment out MLINK of prop_dictionary_mutable.3, too.
Sascha Wildner [Fri, 4 Jun 2010 19:45:48 +0000 (21:45 +0200)]
prop_dictionary.3: Comment out non-existant function.
Sascha Wildner [Thu, 3 Jun 2010 20:12:54 +0000 (22:12 +0200)]
Perform some mdoc cleanup on various manpages which came in lately.
Sascha Wildner [Thu, 3 Jun 2010 10:24:03 +0000 (12:24 +0200)]
Fix VKERNEL build.
Sascha Wildner [Thu, 3 Jun 2010 10:17:42 +0000 (12:17 +0200)]
Add wpi(4) to LINT and fix a warning.
Sascha Wildner [Wed, 2 Jun 2010 21:50:26 +0000 (23:50 +0200)]
ioprio(1): Partial revert of the previous commit to bring back strtol().
atoi() is deprecated.
Sascha Wildner [Wed, 2 Jun 2010 21:18:48 +0000 (23:18 +0200)]
ioprio(1): We want to set the absolute I/O priority here.
Sascha Wildner [Wed, 2 Jun 2010 20:56:06 +0000 (22:56 +0200)]
ioprio.1: Fix typo.
Sascha Wildner [Wed, 2 Jun 2010 20:54:21 +0000 (22:54 +0200)]
Rename ionice(1) to ioprio(1) and add a short manual page.
Sascha Wildner [Wed, 2 Jun 2010 18:50:42 +0000 (20:50 +0200)]
Uncomment some references to wpi(4) now that it is in.
Joe Talbott [Wed, 2 Jun 2010 15:32:34 +0000 (11:32 -0400)]
wpi - Build the firmware module along with the driver.
Joe Talbott [Wed, 2 Jun 2010 15:13:26 +0000 (11:13 -0400)]
wpifw - Bring in wpi(4) firmware blob and license.
Taken-From: FreeBSD
Joe Talbott [Wed, 2 Jun 2010 15:10:24 +0000 (11:10 -0400)]
wlan_amrr - Add module building framework.
Joe Talbott [Wed, 2 Jun 2010 15:08:41 +0000 (11:08 -0400)]
wpifw - Add firmware module building framework
Taken-From: FreeBSD
Joe Talbott [Wed, 2 Jun 2010 12:56:27 +0000 (08:56 -0400)]
wpi - Serialize interrupts, fixup mcluster allocation size, and cleanup
* Serialize interrupts with ifp->if_serializer.
* Change one last use of MJUMPAGESIZE to MCLBYTES.
* Remove some porting cruft.
Joe Talbott [Wed, 19 May 2010 00:55:06 +0000 (20:55 -0400)]
wpi(4) - Add manual page from FreeBSD.
Joe Talbott [Wed, 19 May 2010 00:49:23 +0000 (20:49 -0400)]
if_wpi - Add into build system.