Matthew Dillon [Wed, 7 Jul 2010 04:29:24 +0000 (21:29 -0700)]
kernel - Fix altq for x86_64 vkernel build
* Remove i386-conditionalization for TSC access
* Probably also fixes x864_64 normal kernel build too.
Matthew Dillon [Wed, 7 Jul 2010 04:28:50 +0000 (21:28 -0700)]
kernel - MPSAFE work - Basic tokenization for vkernel x86_64 pmap.c
* Tokenize the vkernel x86_64 pmap.c file
Matthew Dillon [Tue, 6 Jul 2010 04:31:09 +0000 (21:31 -0700)]
kernel - MPSAFE work - Basic tokenization for vkernel i386 pmap.c
* Tokenize the vkernel i386 pmap.c file
* Add minor documentation to x86_64 pmap.c
Sascha Wildner [Tue, 6 Jul 2010 01:22:38 +0000 (03:22 +0200)]
sys/conf/kmod.mk: Adjust the genassym stuff a wee bit.
This should fix 'make -j X buildkernel'.
Reported-by: sephe
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1792>
Modeled-after: FreeBSD
Sascha Wildner [Mon, 5 Jul 2010 12:42:03 +0000 (14:42 +0200)]
/usr/Makefile: Adjust to our new handling of the pkgsrc GIT repository.
Stathis Kamperis [Sun, 4 Jul 2010 06:19:44 +0000 (09:19 +0300)]
top: Fix count of process states
The count was not in correspondence with our enumeration constants
for the process states. For example, an "active" process could be
counted as "running".
Only tested with i386/UP :)
Sascha Wildner [Sun, 4 Jul 2010 19:07:30 +0000 (21:07 +0200)]
acpi_{hp,thinkpad}.4: Fix sysctl names.
Sascha Wildner [Sun, 4 Jul 2010 18:45:45 +0000 (20:45 +0200)]
ral.4: We don't have %U, so use %O for URLs for now.
Sascha Wildner [Sun, 4 Jul 2010 18:43:09 +0000 (20:43 +0200)]
acpi_sony(4): Sync with FreeBSD.
Sascha Wildner [Sun, 4 Jul 2010 18:36:38 +0000 (20:36 +0200)]
acpi_sony.4: Fix sysctl names.
Sascha Wildner [Sun, 4 Jul 2010 15:50:44 +0000 (17:50 +0200)]
Make the loader load ehci.ko by default.
It seems to do more good than harm.
HOWEVER!
Unfortunately, There are systems that don't play nice with ehci. One
of my boxes, for example, won't reboot with ehci loaded.
Therefore, the behavior introduced with this commit can be disabled
by doing one of the following things:
1) 'unset ehci_load' from the loader prompt before booting.
2) Booting in 'safe mode'.
3) Putting 'hint.ehci.0.disabled=1' in /boot/loader.conf.
This is all modeled after the way the automatic loading of acpi.ko is
handled.
Sascha Wildner [Sun, 4 Jul 2010 16:05:11 +0000 (18:05 +0200)]
test commit
Sascha Wildner [Sun, 4 Jul 2010 01:47:05 +0000 (03:47 +0200)]
mkinitrd(8): Strip binaries when copying so they will fit in the image.
While here, comment out a call of the tree utility which we don't have
in base.
Sascha Wildner [Sun, 4 Jul 2010 01:45:25 +0000 (03:45 +0200)]
initrd: /usr/share/initrd/sbin wasn't being created. Add it via mtree(8).
This led to oinit being installed as a file named 'sbin'. Remove this
file via etc/Makefile (during 'make upgrade') so that with the next
upgrade the file is installed correctly.
Sascha Wildner [Sat, 3 Jul 2010 23:54:30 +0000 (01:54 +0200)]
standards.7: Write some more and mention the default environment.
Sascha Wildner [Sat, 3 Jul 2010 20:35:42 +0000 (22:35 +0200)]
Add a few __printflike() and __scanflike() to various header files.
Sascha Wildner [Sat, 3 Jul 2010 20:35:04 +0000 (22:35 +0200)]
vinum(4): Use char for has_part since that's what we scanf() later on.
Sascha Wildner [Sat, 3 Jul 2010 20:34:04 +0000 (22:34 +0200)]
Uncomment vinum in LINT to have it covered by -Werror.
Matthew Dillon [Sat, 3 Jul 2010 18:20:58 +0000 (11:20 -0700)]
kernel - MPSAFE work - Basic tokenization for x86_64 pmap.c
* Tokenize x86_64 pmap.c, it still needs documenting and cleanup
like i386 pmap.c has.
Matthew Dillon [Sat, 3 Jul 2010 18:19:26 +0000 (11:19 -0700)]
kernel - MPSAFE work - Finish tokenizing vm_page.c
* Finish tokenizing vm_page.c
* Certain global procedures, particular vm_page_hold() and vm_page_unhold(),
are best called with the vm_token already held for implied non-blocking
operation.
Matthew Dillon [Sat, 3 Jul 2010 18:16:54 +0000 (11:16 -0700)]
kernel - MPSAFE work - Add missing token release
* Add a missing token release in a rare code path.
Alex Hornung [Sat, 3 Jul 2010 17:40:10 +0000 (18:40 +0100)]
linux emu - MPSAFE work
* Reduce the uses of the mplock to a bare minimum, such as when calling
exit1.
* Change the emuldata lock to lockmgr; it shouldn't have been mplock in
the first place.
* Reduce the scope locked by the emuldata lock as much as possible.
Alex Hornung [Sat, 3 Jul 2010 17:38:21 +0000 (18:38 +0100)]
kmod.mk - attempt to enable use of assym for kmods
* Half-working attempt at being able to use assym.s in kernel modules
when doing a 'make' in the directory of the module. It will now fail
because of opt_nfs.h being included by nfs.h, included by genassym.c
not being found.
Obtained-from: FreeBSD
Sepherosa Ziehau [Sat, 3 Jul 2010 05:30:11 +0000 (13:30 +0800)]
sk(4): Initialize if_multiaddrs (in ether_ifattach), before touching it
Dragonfly-bug: http://bugs.dragonflybsd.org/issue1789
Matthew Dillon [Sat, 3 Jul 2010 02:07:14 +0000 (19:07 -0700)]
kernel - hold MP lock in idlezero for now
* The MP lock must be held in the idlezero code for now until tokenization
is finished on the rest of the code base.
* Fixes random memory corruption which could occur when idlezero was
turned on.
Alex Hornung [Fri, 2 Jul 2010 20:29:17 +0000 (21:29 +0100)]
unmount - fix issue with process refs on unmount
* The p_textnch introduction made this issue appear, as some processes
are still alive at system shutdown and their p_textnch were holding
these references to the mount nch.
* On unmount of a filesystem we now scan all active processes for procs
whose p_textnch is related to the mountpoint we are getting rid of,
and release these.
Dragonfly-bug: http://bugs.dragonflybsd.org/issue1708
Special-Thanks-To: Antonio Huete (tuxillo@) for identifying the
offending commit and extensive testing
Sascha Wildner [Fri, 2 Jul 2010 20:37:22 +0000 (22:37 +0200)]
mkinitrd.8: Remove some trailing whitespace.
Sascha Wildner [Thu, 1 Jul 2010 16:54:49 +0000 (18:54 +0200)]
Remove opt_global.h inclusion, it is included by default.
Sascha Wildner [Thu, 1 Jul 2010 16:51:26 +0000 (18:51 +0200)]
if_detach(): Fix unoptimized compilation without ALTQ in the config.
altq_disable() and altq_detach() aren't available until ALTQ is configured
and compilation with -O0 failed linking.
$deity knows why this worked when building optimized (our default).
Sascha Wildner [Thu, 1 Jul 2010 16:03:08 +0000 (18:03 +0200)]
mkinitrd.8: Remove empty line.
Sascha Wildner [Thu, 1 Jul 2010 15:24:48 +0000 (17:24 +0200)]
mkinitrd(8): Miscellaneous permission related clean up.
Also, rename mkinitrd -> mkinitrd.sh in src/ so it is easy to recognize
as a script. Our build infrastructure will handle installing it without
the suffix.
Sascha Wildner [Thu, 1 Jul 2010 14:17:36 +0000 (16:17 +0200)]
Regenerate the pciconf(8) database
...from the following files:
Hart: Jan 22, 2008 (version 671)
Boemler: Jul 1, 2010
Mares: Jun 1, 2010
Stathis Kamperis [Wed, 30 Jun 2010 20:56:06 +0000 (23:56 +0300)]
math.h: Convert HUGE_VALL to constant, from const-qualified var
Define HUGE_VALL via a compiler builtin. If the compiler doesn't
support it, we just fallback to previous situation. Both gcc and
clang play well with it.
This patch allows us to:
1. use HUGE_VALL as initializer element for objects with static
storage duration
2. not worry about the format of long double (e.g., 96bit vs 128bit)
3. not worry about things like endianness
Briefly-discussed-with: corecode@, swildner@, but put the blame on me
if I broke something for you.
Special-thanks-to: swildner@ for checking code with clang.
P.S. HUGE_VAL{,F} already do the right thing.
Alex Hornung [Sun, 27 Jun 2010 00:51:13 +0000 (01:51 +0100)]
mkinitrd - add tool and infrastructure for initrd
* Add the tool and necessary infrastructure to be able to easily build
initial ramdisks.
Matthew Dillon [Tue, 29 Jun 2010 00:39:09 +0000 (17:39 -0700)]
kernel - remove pmap_interlock debugging
* Remove the pmap_interlock debugging kprintf()s
Sascha Wildner [Tue, 29 Jun 2010 00:22:20 +0000 (02:22 +0200)]
Log frequency changes via syslog(3) from powerd(8) instead from acpi(4).
This avoids cluttering of the console with 'set pstate' messages on
verbosely booted systems when powerd(8) runs.
Sascha Wildner [Mon, 28 Jun 2010 23:26:57 +0000 (01:26 +0200)]
powerd.8: Add missing .El
Sascha Wildner [Mon, 28 Jun 2010 23:18:27 +0000 (01:18 +0200)]
powerd.8: Clean up the manual page a bit.
Sascha Wildner [Mon, 28 Jun 2010 23:00:02 +0000 (01:00 +0200)]
powerd(8): Add an rc script etc.
Sascha Wildner [Mon, 28 Jun 2010 22:22:00 +0000 (00:22 +0200)]
Hook powerd(8) into the build.
Matthew Dillon [Mon, 28 Jun 2010 21:43:11 +0000 (14:43 -0700)]
powerd - Fixes for 64-bit
* Make slen size_t for 64-bit compatibility.
Matthew Dillon [Mon, 28 Jun 2010 21:36:24 +0000 (14:36 -0700)]
powerd - Initial load monitor and cpu frequency adjustment daemon
This daemon uses the hw.acpi.cpu.px_dom* sysctls to adjust the frequency
for all cpus based on the system cpu load.
For this initial implementation the daemon simply sets cpus to the maximum
frequency when the 1-second load exceeds 25% of one cpu and sets the cpus
to the minimum frequency when the 10-second load drops below 12%.
Sascha Wildner [Sun, 27 Jun 2010 08:54:13 +0000 (10:54 +0200)]
test/dsched*: Use standard Makefiles and fix an include path.
Alex Hornung [Wed, 2 Jun 2010 09:59:39 +0000 (09:59 +0000)]
vfs_bio - Implement nestiobuf support
* Implement nestiobuf support (as NetBSD does) to split up a bio/buf
into several smaller pieces that can be handled separately and only
biodone() the "master" buffer when all smaller bio/buf pieces have
completed.
Partially-Obtained-from: NetBSD
Alex Hornung [Sun, 13 Jun 2010 08:41:56 +0000 (09:41 +0100)]
subr_disk - Implement create_named & bounds_check
* Implement a disk_create_named to allow disks to be arbitrarily named,
not necessarily <driver name><unit>.
* Implement a bounds_check_with_mediasize, which bound-checks a bio
against a given media size and sector size.
Alex Hornung [Sat, 26 Jun 2010 21:34:28 +0000 (22:34 +0100)]
chroot_kernel() - new syscall to set rootnch/rootvn
* This new syscall can be used to override the default rootnch and
rootvnode which are used for path lookups outside of a process context
(i.e. in kernel-only context)
Alex Hornung [Sat, 26 Jun 2010 21:33:43 +0000 (22:33 +0100)]
kern_udev - remove unnecessary refs for devs
Alex Hornung [Sat, 26 Jun 2010 16:09:57 +0000 (17:09 +0100)]
vn - remove vn_softc from list on detach command
* Remove the vn_softc out of the vn list when a detach command is
issued, additionally to calling disk_destroy().
* This was causing a panic when a reboot was issued after detaching a vn
device, as disk_destroy was effectively called twice on the same dp.
Sascha Wildner [Fri, 25 Jun 2010 00:23:16 +0000 (02:23 +0200)]
bootparamd(8): Add missing function type.
Sascha Wildner [Fri, 25 Jun 2010 00:22:12 +0000 (02:22 +0200)]
libc/citrus: Add missing function type.
Sascha Wildner [Thu, 24 Jun 2010 08:53:10 +0000 (10:53 +0200)]
hangman(6): Ignore case in the word list.
Reported-by: Tim Darby <t+dfbsd@timdarby.net>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1787>
Sascha Wildner [Tue, 22 Jun 2010 10:28:56 +0000 (12:28 +0200)]
sysctl.9: Remove CTLFLAG_NOLOCK.
Removed from <sys/sysctl.h> in
2c8c434fa446d03382c8981b8039da8809759625.
Sascha Wildner [Tue, 22 Jun 2010 10:11:15 +0000 (12:11 +0200)]
getconf.1: The sysconf variable for _POSIX_VERSION is _SC_VERSION.
Joe Talbott [Mon, 21 Jun 2010 19:09:37 +0000 (15:09 -0400)]
ral - Use the correct pointer for ifp.
Joe Talbott [Mon, 21 Jun 2010 15:25:32 +0000 (11:25 -0400)]
netif - Change M_NOWAIT to MB_DONTWAIT in m_defrag() calls.
Discussed-With: aggelos
Sascha Wildner [Mon, 21 Jun 2010 05:10:50 +0000 (07:10 +0200)]
vesa(4): Fix check for DPMS support.
Return 0 (no states) in case function 0x4f10 returns an error.
Alex Hornung [Fri, 18 Jun 2010 16:24:30 +0000 (17:24 +0100)]
MPSAFE work - fix acquisition of vm_token
* vm_page_lookup needs to be called with the vm_token held, but
vm_page_alloc wasn't acquiring it early enough.
Joe Talbott [Thu, 17 Jun 2010 20:19:06 +0000 (16:19 -0400)]
wpi - Include struct arpcom as first entry in struct wpi_softc
As indicated by the comment preceeding the definition of struct ifnet
all ethernet drivers softc structures should start with a struct
arpcom.
Sascha Wildner [Thu, 17 Jun 2010 17:01:40 +0000 (19:01 +0200)]
i4b(4): Remove some dead code.
The interface was removed in
d013484ee03fa3b157747fe22ce523417deff1d6.
Sascha Wildner [Wed, 16 Jun 2010 15:30:12 +0000 (17:30 +0200)]
altq(4): Fix typo in a #define.
Sascha Wildner [Wed, 16 Jun 2010 15:27:02 +0000 (17:27 +0200)]
kern_shutdown.c: Add missing #include (for NGPIO).
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.