Matthew Dillon [Fri, 30 Apr 2010 02:48:58 +0000 (19:48 -0700)]
kernel - Fix resident_count problems with kernel_pmap & related crashes
* kernel_pmap.pm_stats.resident_count could get out of sync due to the
lwbuf code calling kmem_free() on KVM with pages that were entered
via pmap_kenter(). Delete the pages before calling kmem_free().
This in turn caused various failures and kernel panics due to conditionals
based on resident_count == 0. Heavy sendfile() activity could trigger
the bug but it was taking a few days for the resident_count to decrement
to zero.
* Fix a similar issue in zdestroy() on ZONE_INTERRUPT zones. Nothing calls
this routine so it was not a vector for crashes.
* Document the case.
Sascha Wildner [Thu, 29 Apr 2010 22:45:54 +0000 (00:45 +0200)]
ieee80211.9: Fix typo.
Sascha Wildner [Thu, 29 Apr 2010 20:35:01 +0000 (22:35 +0200)]
ieee80211.9: Remove some references to manual pages which don't exist.
Sascha Wildner [Thu, 29 Apr 2010 20:34:24 +0000 (22:34 +0200)]
ath.4: We don't have a pcic.4 manual page.
Sascha Wildner [Thu, 29 Apr 2010 20:33:01 +0000 (22:33 +0200)]
ieee80211_proto.9: Fix typo in function name.
Sascha Wildner [Thu, 29 Apr 2010 20:29:27 +0000 (22:29 +0200)]
ieee80211_scan.9: Fix typo in function name.
Sascha Wildner [Thu, 29 Apr 2010 20:18:05 +0000 (22:18 +0200)]
Add a regdomain.5 manual page (from FreeBSD).
Sascha Wildner [Thu, 29 Apr 2010 20:09:16 +0000 (22:09 +0200)]
Comment out a reference to iwi(4) for now until it is ported.
Sascha Wildner [Thu, 29 Apr 2010 19:58:56 +0000 (21:58 +0200)]
ieee80211_{ddb,radiotap}.9: Remove some unneeded .Pp's.
Sascha Wildner [Thu, 29 Apr 2010 19:58:07 +0000 (21:58 +0200)]
Disable ieee80211_amrr.9 for now.
This was replaced by the new ratectl code.
Sascha Wildner [Wed, 28 Apr 2010 23:23:14 +0000 (01:23 +0200)]
mptutil(8): Misc. cleanup
* Raise WARNS to 6
* Move CVS IDs to the comments
* Bump date in the manual page
YONETANI Tomokazu [Wed, 28 Apr 2010 15:57:05 +0000 (00:57 +0900)]
ips - Make use of new dumping scheme
YONETANI Tomokazu [Wed, 28 Apr 2010 15:57:04 +0000 (00:57 +0900)]
ips - The comment no longer applies as b_blkno has been yanked off years ago.
Sascha Wildner [Wed, 28 Apr 2010 22:48:56 +0000 (00:48 +0200)]
mkioctls: Miscellaneous cleanup.
* Add a proper '#!/bin/sh' since this is a shell script.
* Clean up the list of excluded /usr/include/* softlinks.
* Remove unneeded #include's.
* Remove some empty lines.
Sascha Wildner [Wed, 28 Apr 2010 13:41:09 +0000 (15:41 +0200)]
make upgrade: ieee80211_free_node() still exists.
Sascha Wildner [Wed, 28 Apr 2010 12:53:11 +0000 (14:53 +0200)]
ieee80211*.9: Fix include paths.
Sascha Wildner [Wed, 28 Apr 2010 12:50:33 +0000 (14:50 +0200)]
ieee80211_node.9: Fix section number.
Sascha Wildner [Wed, 28 Apr 2010 12:49:13 +0000 (14:49 +0200)]
ieee80211_{amrr,vap}.9: Fix typos in .Dt
Sascha Wildner [Wed, 28 Apr 2010 12:48:15 +0000 (14:48 +0200)]
ieee80211.9: Adjust .Dt
Sascha Wildner [Wed, 28 Apr 2010 12:47:13 +0000 (14:47 +0200)]
Sync our ieee80211*(9) manual pages with FreeBSD.
b86 [Wed, 28 Apr 2010 06:35:56 +0000 (01:35 -0500)]
fixup errors for mkdir & rmdir '/' - EEXIST & EACCES, respectively
Sascha Wildner [Tue, 27 Apr 2010 20:16:17 +0000 (22:16 +0200)]
Sync ath.4 and ath_hal.4 manual pages with FreeBSD.
Sascha Wildner [Tue, 27 Apr 2010 20:04:53 +0000 (22:04 +0200)]
Yet another round of typo fixes in manpages and messages.
Sascha Wildner [Tue, 27 Apr 2010 19:49:59 +0000 (21:49 +0200)]
ral.4/firmware.9: Fix some mdoc issues in two manual pages.
Alex Hornung [Tue, 27 Apr 2010 06:29:52 +0000 (06:29 +0000)]
Remove ieee80211_ioctl.9 from Makefile, too
Reported-by: Dylan Reinhold
Sascha Wildner [Tue, 27 Apr 2010 00:37:37 +0000 (02:37 +0200)]
Remove ieee80211_ioctl.9 manual page and MLINKS.
Sascha Wildner [Mon, 26 Apr 2010 17:25:37 +0000 (19:25 +0200)]
Bring in FreeBSD's tools/tools/{ath,net80211}.
Sascha Wildner [Mon, 26 Apr 2010 16:37:33 +0000 (18:37 +0200)]
Move wlandebug(8) to usr.sbin (like FreeBSD) and sync.
Sascha Wildner [Mon, 26 Apr 2010 16:26:56 +0000 (18:26 +0200)]
ral.4: Sync with FreeBSD.
Matthew Dillon [Mon, 26 Apr 2010 16:04:21 +0000 (09:04 -0700)]
kernel - make sysent update
* Update for changes in the extattr family of system calls.
Matthew Dillon [Mon, 26 Apr 2010 16:03:04 +0000 (09:03 -0700)]
kernel - Update extattr infrastructure
* Update the extattr infrastructure to match FreeBSD. Numerous arguments
have changed in the system calls and created an issue with libarchive.
Sascha Wildner [Mon, 26 Apr 2010 10:11:12 +0000 (12:11 +0200)]
diskless: Miscellaneous fixes.
* Increase the space reserved for /etc whose size has grown considerably
due to the blacklists in /etc/ssh.
* Remove the check for devfs which has been around long enough.
* Use tmpfs instead of mfs.
* Pass whatever is in md_size (e.g. 10M) directly to mount_tmpfs. For
backwards compatibility, treat number-only values as sectors (i.e.,
multiply by 512 and pass that to mount_tmpfs).
Submitted-by: Rumko <rumcic@gmail.com>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1732>
Rumko [Wed, 14 Apr 2010 21:09:48 +0000 (21:09 +0000)]
Wrong variable used.
Alex Hornung [Mon, 26 Apr 2010 08:27:22 +0000 (08:27 +0000)]
dsched.h - don't provide _KERNEL_STRUCTURES stuff
* Don't provide anything for _KERNEL_STRUCTURES, since that would
require sysctl.h to export the sysctl_ctx_list for _KERNEL_STRUCTURES,
too.
Reported-by: luxh, Siju George
Sascha Wildner [Mon, 26 Apr 2010 06:03:50 +0000 (08:03 +0200)]
Really exclude the ndis(4) manual page from the build for now.
Sascha Wildner [Sun, 25 Apr 2010 23:54:22 +0000 (01:54 +0200)]
kern/subr_firmware.c: Oops, forgot a {
Sascha Wildner [Sun, 25 Apr 2010 22:19:26 +0000 (00:19 +0200)]
firmware(9): Check for securelevel > 0 instead of PRIV_ROOT.
The patch is modeled after FreeBSD and fixes a panic when loading a
firmware image.
Submitted-by: Johannes Hofmann <johannes.hofmann@gmx.de>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue1735>
Alex Hornung [Sun, 25 Apr 2010 21:21:24 +0000 (21:21 +0000)]
dsched - Support policy switching via sysctl
* Add the sysctl dsched.policy tree to show the current policy of disks
/ serial numbers of disks and allow for switching to another available
policy.
Requested-by: Sascha Wildner
Sascha Wildner [Sun, 25 Apr 2010 14:30:58 +0000 (16:30 +0200)]
Move dsched to sys/kern/.
Sascha Wildner [Sun, 25 Apr 2010 12:53:16 +0000 (14:53 +0200)]
Remove firmware(9) from LINT, too.
Sascha Wildner [Sun, 25 Apr 2010 12:50:29 +0000 (14:50 +0200)]
Make firmware(9) standard again instead of optional.
ral(4), which is in GENERIC, uses it and we don't want all people with
GENERIC-derived systems to have to add 'device firmware' to their
configs.
Sascha Wildner [Sun, 25 Apr 2010 12:00:35 +0000 (14:00 +0200)]
ifconfig(8): Raise WARNS to 2 and fix the resulting warnings.
Sascha Wildner [Sun, 25 Apr 2010 11:23:15 +0000 (13:23 +0200)]
firmware(9): GC our old firmware framework in favor of the one from FreeBSD.
* Move the helper module to kern/firmware and name it firmware.ko. Also
make it buildable into the kernel. Add it to GENERIC.
* Adjust mxge(4) to use the new framework, too. Therefore, bring in firmware
modules from FreeBSD.
* Update the firmware(9) manual page.
* Bring in other missing bits and pieces (share/examples/kld/firmware).
* Adjust 'make upgrade'.
Sascha Wildner [Sat, 24 Apr 2010 23:43:22 +0000 (01:43 +0200)]
Remove /usr/include/kadm5 and sort etc/mtree/BSD.include.dist.
Sascha Wildner [Sat, 24 Apr 2010 20:55:20 +0000 (22:55 +0200)]
Sync the wlan*(4) manual pages with FreeBSD for the 802.11 update.
Sascha Wildner [Sat, 24 Apr 2010 14:11:31 +0000 (16:11 +0200)]
Adjust a bit more for the 802.11 upgrade.
Sascha Wildner [Sat, 24 Apr 2010 14:07:35 +0000 (16:07 +0200)]
mptutil.8: Remove trailing whitespace.
Sascha Wildner [Sat, 24 Apr 2010 14:07:09 +0000 (16:07 +0200)]
mount_nfs.8: Write "RFC xxxx" instead of "RFCxxxx".
Sascha Wildner [Sat, 24 Apr 2010 14:06:21 +0000 (16:06 +0200)]
pthread.3: Add missing section.
Sascha Wildner [Sat, 24 Apr 2010 13:17:39 +0000 (15:17 +0200)]
Adjust manual page installation for the 802.11 upgrade.
Sascha Wildner [Sat, 24 Apr 2010 10:32:21 +0000 (12:32 +0200)]
evtr: ktrfmt.tab.h is not supposed to be installed to /usr/include.
Sascha Wildner [Sat, 24 Apr 2010 01:47:23 +0000 (03:47 +0200)]
manpages: Fix some mdoc issues and remove trailing whitespace.
Sascha Wildner [Sat, 24 Apr 2010 01:45:23 +0000 (03:45 +0200)]
xstr(1): Sync with FreeBSD.
Alex Hornung [Fri, 23 Apr 2010 10:17:09 +0000 (10:17 +0000)]
dsched - serno support
* Add support for serno loader tunables, e.g. dsched.policy.WD1293193 =
"fq".
* Incidentally do another name change on the loader tunables from
kern.dsched.* to dsched.* to have the same namespace as the sysctls.
* Add a sysctl dsched.policies showing the currently available policies.
Aggelos Economopoulos [Fri, 23 Apr 2010 14:22:18 +0000 (17:22 +0300)]
evtr: hook into the x86_64 build
Submitted-by: swildner@
Aggelos Economopoulos [Fri, 23 Apr 2010 14:17:28 +0000 (17:17 +0300)]
evtranalyze: clean up warnings
Compilation-on-x86_64-by: swildner@
Aggelos Economopoulos [Fri, 23 Apr 2010 14:12:51 +0000 (17:12 +0300)]
libevtr: portability fixes
Compilation-on-x86_64-by: swildner@
Aggelos Economopoulos [Fri, 23 Apr 2010 14:10:14 +0000 (17:10 +0300)]
libevtr: get rid of unused yyunput() definition
Reminder-by: swildner@
Aggelos Economopoulos [Fri, 23 Apr 2010 12:24:17 +0000 (15:24 +0300)]
libevtr.h: cleanup evtr.h a bit
Prodded-by: alexh@
Aggelos Economopoulos [Fri, 23 Apr 2010 11:37:23 +0000 (14:37 +0300)]
evtranalyze: fix thinko in debug code
Aggelos Economopoulos [Wed, 17 Mar 2010 23:48:54 +0000 (01:48 +0200)]
evtr: initial implementation of a DSL
libevtr:
- abstract out the hash table, convert to using uintptr_t's
internally
- move a bunch of fields and most of the error logic from
evtr to evtr_query
- don't try to resolve format strings to id's and reject
records that don't match early; this needs way more care
now that we might want to interpret the format strings
- start implementation of a minimal Domain Specific Language
- add the ability to filter based on the event type
- lots of fixes all around
evtranalyze:
- catch up w/ API changes in libevtr
- add toy 'stats' command
Alex Hornung [Fri, 23 Apr 2010 06:31:36 +0000 (06:31 +0000)]
dsched - Bump diskctx max size to 512
* Bump the maximum size of the diskctx struct to 512, as 256 is too
small already for dsched_fq on x86_64.
Reported-by: Sascha Wildner
Sascha Wildner [Thu, 22 Apr 2010 22:22:27 +0000 (00:22 +0200)]
Add DSCHED_FQ to LINT.
Sascha Wildner [Thu, 22 Apr 2010 21:08:06 +0000 (23:08 +0200)]
Fix buildworld.
Alex Hornung [Thu, 22 Apr 2010 09:48:50 +0000 (09:48 +0000)]
dsched - expand framework to track threads
* The dsched framework now takes care of tracking threads/procs and
bufs. Most of this code was factored out of dsched_fq.
* fq now uses the new, much simplified API, reducing the lines of code
by about 50%.
* this will also allow for runtime policy switching, even to other
policies that need to track procs/threads. Previously it was only
possible to have one policy that tracked threads.
* Now all policies can be loaded at any time and will still be able to
track all the threads.
* dsched_fq is now a module that can be loaded if required. Once loaded
the policy is registered and ready to use with any disk.
* There is also a kernel option DSCHED_FQ now; otherwise
dsched_fq_load="YES" has to be set in loader.conf to be able to use fq
from boot on.
* Make a dsched sysctl tree.
Suggested-by: Aggelos Economopoulos
Stathis Kamperis [Thu, 22 Apr 2010 17:51:33 +0000 (20:51 +0300)]
dschedctl: G/C some unneeded headers
Stathis Kamperis [Thu, 22 Apr 2010 15:28:10 +0000 (18:28 +0300)]
dschedctl: Better error message on unknown policy
Discussed-with: alexh@, corecode@
Sascha Wildner [Thu, 22 Apr 2010 10:12:57 +0000 (12:12 +0200)]
Adjust 'make upgrade' for the recent 802.11 update.
Sascha Wildner [Thu, 22 Apr 2010 10:03:37 +0000 (12:03 +0200)]
wi(4): Fix -Wold-style-definition.
Sascha Wildner [Thu, 22 Apr 2010 09:58:51 +0000 (11:58 +0200)]
kernel: Add TUNABLE_ULONG too and really fix the acpi warning.
Sascha Wildner [Thu, 22 Apr 2010 09:34:14 +0000 (11:34 +0200)]
acpi(4): Use TUNABLE_LONG to fix a warning and remove a nowerror.
Sascha Wildner [Thu, 22 Apr 2010 09:14:47 +0000 (11:14 +0200)]
kernel: Add TUNABLE_LONG.
Alex Hornung [Thu, 22 Apr 2010 06:38:02 +0000 (06:38 +0000)]
interbench - Port to DragonFly
Alex Hornung [Thu, 22 Apr 2010 05:51:56 +0000 (05:51 +0000)]
interbench - initial import
Sascha Wildner [Thu, 22 Apr 2010 00:29:53 +0000 (02:29 +0200)]
Clean up the options in our kernel configs for the recent 802.11 upgrade.
Stathis Kamperis [Wed, 21 Apr 2010 23:28:16 +0000 (02:28 +0300)]
dschedctl: OCD attack
Stathis Kamperis [Wed, 21 Apr 2010 23:02:06 +0000 (02:02 +0300)]
dschedctl: Don't assume /dev as devfs's mount point
Suggested-by: swildner@
Stathis Kamperis [Wed, 21 Apr 2010 22:41:23 +0000 (01:41 +0300)]
dschedctl: Allow /dev/<disk> as valid syntax
Discussed-with: alexh@
Stathis Kamperis [Wed, 21 Apr 2010 19:31:52 +0000 (22:31 +0300)]
dschedctl: Cosmetic stuff
No functional change intended.
Sascha Wildner [Wed, 21 Apr 2010 22:14:31 +0000 (00:14 +0200)]
mmc(4): Remove ARM specific DRIVER_MODULE().
Alex Hornung [Wed, 21 Apr 2010 19:09:25 +0000 (19:09 +0000)]
fqstats - remove leftover
* remove leftovers from the fqmp refs for buf removal.
Reported-by: Matthew Dillon
Matthew Dillon [Wed, 21 Apr 2010 17:46:44 +0000 (10:46 -0700)]
ieee80211 - Fix detachment panic
* Destroy the clone when ieee80211_vap_destroy() is called, fixing a
panic when kldunloading e.g. if_ath after a wlan clone has been
attached to it.
Submitted-by: Rui Paulo <rpaulo@freebsd.org>
Matthew Dillon [Wed, 21 Apr 2010 17:22:55 +0000 (10:22 -0700)]
build - Fix parallel build race in Makefile
* Fix a misspelled ORDER dependency which led to a mkdir
dependency sometimes being run out of order.
Antonio Huete Jimenez [Wed, 21 Apr 2010 16:05:36 +0000 (18:05 +0200)]
ath - Fix a mismatch in the module options.
This caused a panic with ifconfig in basic operations such
as putting an interface up.
Submitted-by: <rpaulo@FreeBSD.org>
Sascha Wildner [Wed, 21 Apr 2010 14:37:53 +0000 (16:37 +0200)]
Fix buildkernel KERNCONF=SOEKRIS.
Sascha Wildner [Wed, 21 Apr 2010 14:12:10 +0000 (16:12 +0200)]
Sync zoneinfo database with tzdata2010i from elsie.nci.nih.gov
africa: 8.24 -> 8.26
asia: 8.59 -> 8.60
southamerica: 8.43 -> 8.44
* Morocco will have DST in 2010 from May 2 to Aug 22.
* Taiwan had DST in 1979, not in 1980.
* San Luis, Argentina, is on "permanent" DST as of 2010.
Alex Hornung [Wed, 21 Apr 2010 07:24:36 +0000 (07:24 +0000)]
dschedctl.8 - Add man page
Alex Hornung [Wed, 21 Apr 2010 07:22:01 +0000 (07:22 +0000)]
dschedctl - Change arguments, clean up
* Remove the '-d' argument and instead allow an extra argument to '-l'
and '-s'.
* Allow for a change of policy on all disks by not specifying an extra
argument after '-s policy'.
* Introduce two FOREACH macros to simplify the code.
* Add helper function dsched_set_disk_policy().
* Add verbose mode.
Alex Hornung [Tue, 20 Apr 2010 22:31:12 +0000 (22:31 +0000)]
dsched_fq - correct disk busy% calculation
* Previously old_tv was static, causing problems when several disks had
the fq policy enabled, as the start time of the interval was taken
from some other disk.
* Avoid this issue by keeping the information in diskctx, where it
belongs.
Sascha Wildner [Tue, 20 Apr 2010 18:32:44 +0000 (21:32 +0300)]
dsched: Avoid integer overflow.
Multiplication of two 32 bit values can overflow the 32 bit result. Cast
one of the multiplicants to force 64 bit multiplication.
This fixes a lockup due to an infinite loop in the following while().
In-collaboration-with: aggelos
Alex Hornung [Tue, 20 Apr 2010 16:49:58 +0000 (16:49 +0000)]
dsched_fq - remove pointless atomic ops
Reported-by: Aggelos Economopoulos
Alex Hornung [Tue, 20 Apr 2010 16:44:26 +0000 (16:44 +0000)]
dsched_fq - Correct incomplete_tp count
* Previously, the incomplete_tp count was not decreased when an error
occurred. This is now fixed by unconditionally reducing the incomplete
count on the biodone callback.
Reported-by: Aggelos Economopoulos
Sascha Wildner [Tue, 20 Apr 2010 10:33:42 +0000 (13:33 +0300)]
mmcsd(4): Add device statistics.
Alex Hornung [Mon, 19 Apr 2010 18:24:34 +0000 (18:24 +0000)]
dsched, dsched_fq - Major cleanup
SHORT version: major cleanup and rename to useful names
LONG version:
dsched:
* Unify dsched_ops with dsched_policy, remove fallout
* Rename dsched_{create,destroy} -> dsched_disk_{create,destroy}_callback
* Kill .head in dsched_policy
* Kill dead code
dsched_fq:
* Rename fqp -> thread_io/tdio
* Rename fqmp -> thread_ctx/tdctx
* Rename dpriv -> disk_ctx/diskctx
* Several related renames of functions (alloc/ref/unref).
* Remove dead code
* rename tdctx->s_* -> tdctx->interval_*
* comment struct members
* ... and some more changes I probably forgot
Huge-Thanks-To: Aggelos Economopoulos
Alex Hornung [Mon, 19 Apr 2010 16:39:16 +0000 (16:39 +0000)]
dsched - Periph.: call dsched_exit on thread exit
* The previous location of the call to dsched_exit was not right and did
not allow the use of lockmgr.
* We now call dsched_exit before the thread is completely killed and
descheduled as to avoid any problems.
Alex Hornung [Mon, 19 Apr 2010 14:07:25 +0000 (14:07 +0000)]
dsched_fq - move to lockmgr
Matthew Dillon [Mon, 19 Apr 2010 05:36:14 +0000 (22:36 -0700)]
HAMMER VFS - Fix probable corruption case when filesystem becomes nearly full
* The reblocking code was incorrectly assuming the cursor would be pointing
at a valid node element after an unlock/relock sequence, when it could
actually be pointing at the EOF of a node. This case can occur when
the filesystem is nearly full (possibly due to the reblocking operation
itself), when the filesystem is also under load from unrelated
operations.
* This can result in the creation of a corrupted B-Tree leaf node or
data record.
* Corruption can be checked with hammer checkmap and hammer show
(as of this rev):
hammer -f device checkmap
Should output no B-Tree node records or free space mismatches.
You will still get the initial volume summary.
hammer -f device show | egrep '^B' | egrep -v '^BM'
Should output no records.
* Currently the only recourse if corruption is found is to copy off the
filesystem, newfs_hammer, and copy it back.
Full history and snapshots can be retained by using 'hammer -B mirror-read'
to copy off the filesystem and mirror-write to copy it back. However,
pleaes remember you must do this for each PFS individually. Make sure
you have a viable backup before newfsing anything.
Reported-by: Francois Tigeot <ftigeot@wolfpond.org>, Jan Lentfer <Jan.Lentfer@web.de>
Antonio Huete Jimenez [Sun, 18 Apr 2010 22:44:54 +0000 (00:44 +0200)]
ath - Fix module loading.
This registers the modules ath_hal and ath_rate,
so they are properly handled.
Both are now a dependency for if_ath to provide
automatic loading upon if_ath load.
Also 'if_ath_load=YES' on /boot/loader.conf is
fixed with this commit.
Antonio Huete Jimenez [Sun, 18 Apr 2010 22:39:34 +0000 (00:39 +0200)]
x86_64 - Sync wlan options with GENERIC
YONETANI Tomokazu [Sun, 18 Apr 2010 02:59:11 +0000 (11:59 +0900)]
ips - Mark queue_lock as LK_CANRECURSE
Originally queue_lock was an LWKT reader-writer locks, which permitted
multiple locks by the same thread, and in fact there are few code paths
where such multiple locking is used. Doing the similar thing with lockmgr
lock without either LK_NOWAIT or LK_CANRECURSE triggers a panic.