Alexander Polakov [Fri, 16 Apr 2010 20:34:40 +0000 (00:34 +0400)]
ehci - ohci - uhci: add Makefile's
Alexander Polakov [Fri, 16 Apr 2010 20:20:53 +0000 (00:20 +0400)]
Move usbdevs generation to kmod.mk
Alexander Polakov [Fri, 16 Apr 2010 19:58:38 +0000 (23:58 +0400)]
Formatting changes.
Alexander Polakov [Fri, 16 Apr 2010 19:58:19 +0000 (23:58 +0400)]
Fix uhci build
Alexander Polakov [Fri, 16 Apr 2010 19:52:45 +0000 (23:52 +0400)]
Fix ohci build.
Alexander Polakov [Fri, 16 Apr 2010 17:48:45 +0000 (21:48 +0400)]
Fix ehci build.
Alexander Polakov [Fri, 16 Apr 2010 17:40:59 +0000 (21:40 +0400)]
Fix pci paths
Alexander Polakov [Fri, 16 Apr 2010 17:16:31 +0000 (21:16 +0400)]
Do some hacks around Giant. This needs to be fixed.
Alexander Polakov [Fri, 16 Apr 2010 17:15:59 +0000 (21:15 +0400)]
get_mplock include
Alexander Polakov [Fri, 16 Apr 2010 17:15:13 +0000 (21:15 +0400)]
sched_prio workaround for now
Alexander Polakov [Fri, 16 Apr 2010 17:14:20 +0000 (21:14 +0400)]
free kfree
Alexander Polakov [Fri, 16 Apr 2010 17:14:05 +0000 (21:14 +0400)]
free-kfree
Alexander Polakov [Fri, 16 Apr 2010 17:13:45 +0000 (21:13 +0400)]
free->kfree
Alexander Polakov [Fri, 16 Apr 2010 17:11:20 +0000 (21:11 +0400)]
free->kfree
Alexander Polakov [Fri, 16 Apr 2010 17:10:54 +0000 (21:10 +0400)]
free->kfree
Alexander Polakov [Fri, 16 Apr 2010 16:48:20 +0000 (20:48 +0400)]
malloc -> kmalloc
Alexander Polakov [Fri, 16 Apr 2010 16:46:22 +0000 (20:46 +0400)]
usb_process.c: how to create threads
Alexander Polakov [Fri, 16 Apr 2010 16:45:58 +0000 (20:45 +0400)]
add lock_spin
Alexander Polakov [Fri, 16 Apr 2010 16:34:01 +0000 (20:34 +0400)]
usb_hub.c: free->kfree, Giant->mplock
Alexander Polakov [Fri, 16 Apr 2010 16:33:23 +0000 (20:33 +0400)]
Comment out stuff now. Will get it work later.
Alexander Polakov [Fri, 16 Apr 2010 16:29:25 +0000 (20:29 +0400)]
usb_device.c: Giant -> mplock
Alexander Polakov [Fri, 16 Apr 2010 16:28:50 +0000 (20:28 +0400)]
Add PROC_LOCK/PROC_UNLOCK
Alexander Polakov [Fri, 16 Apr 2010 16:28:20 +0000 (20:28 +0400)]
Disable ugen for a moment.
Alexander Polakov [Fri, 16 Apr 2010 16:27:40 +0000 (20:27 +0400)]
usb_hid.c: malloc -> kmalloc, free -> kfree
Alexander Polakov [Fri, 16 Apr 2010 15:05:14 +0000 (19:05 +0400)]
Import USB quirks from FreeBSD unmodified
Alexander Polakov [Fri, 16 Apr 2010 15:02:59 +0000 (19:02 +0400)]
malloc -> kmalloc and so on
Alexander Polakov [Fri, 16 Apr 2010 14:27:28 +0000 (18:27 +0400)]
Don't build linux compatibility now.
Alexander Polakov [Fri, 16 Apr 2010 14:25:35 +0000 (18:25 +0400)]
Define SI_SUB_KLD = SI_SUB_DRIVERS
Alexander Polakov [Fri, 16 Apr 2010 14:24:06 +0000 (18:24 +0400)]
define callout_drain() and PI_
Alexander Polakov [Fri, 16 Apr 2010 14:14:41 +0000 (18:14 +0400)]
Giant lock -> mplock
Alexander Polakov [Fri, 16 Apr 2010 14:03:09 +0000 (18:03 +0400)]
FreeBSD has a mechanism to delay root mount while exporing USB.
Disable it for now.
Alexander Polakov [Fri, 16 Apr 2010 14:00:11 +0000 (18:00 +0400)]
printf->kprintf in controller/
Alexander Polakov [Fri, 16 Apr 2010 13:55:01 +0000 (17:55 +0400)]
Add missing opt_ddb.h
Alexander Polakov [Fri, 16 Apr 2010 13:53:39 +0000 (17:53 +0400)]
Remove missing includes.
Alexander Polakov [Fri, 16 Apr 2010 13:44:22 +0000 (17:44 +0400)]
dev/usb -> bus/usb
sed -I '~' 's|<dev/usb|<bus/usb|' *
Alexander Polakov [Fri, 16 Apr 2010 13:40:54 +0000 (17:40 +0400)]
Import USB controller code from FreeBSD unmodified.
Alexander Polakov [Fri, 16 Apr 2010 13:33:48 +0000 (17:33 +0400)]
Emulate sx locks with lockmgr too.
Alexander Polakov [Fri, 16 Apr 2010 13:24:48 +0000 (17:24 +0400)]
curthread is from <sys/globaldata.h>
Alexander Polakov [Fri, 16 Apr 2010 13:22:00 +0000 (17:22 +0400)]
Don't include DragonFly mutexes.
Alexander Polakov [Fri, 16 Apr 2010 13:19:58 +0000 (17:19 +0400)]
Emulate FreeBSD's mtx_* with lockmgr locks.
Alexander Polakov [Fri, 16 Apr 2010 12:46:41 +0000 (16:46 +0400)]
Introduce BUS_DMA_KEEP_PG_OFFSET
Taken-from: FreeBSD
Alexander Polakov [Fri, 16 Apr 2010 12:18:33 +0000 (16:18 +0400)]
We don't need lock function here.
Alexander Polakov [Fri, 16 Apr 2010 12:06:26 +0000 (16:06 +0400)]
printf->kprintf
Alexander Polakov [Fri, 16 Apr 2010 11:31:28 +0000 (15:31 +0400)]
Remove <sys/stddef.h>, <sys/sx.h>, <sys/priority.h>, <machine/bus.h> headers.
Alexander Polakov [Fri, 16 Apr 2010 11:21:24 +0000 (15:21 +0400)]
Change <dev/usb/...> to <bus/usb/...>
Alexander Polakov [Fri, 16 Apr 2010 11:15:08 +0000 (15:15 +0400)]
Fix for usbdevs
Alexander Polakov [Fri, 16 Apr 2010 11:05:17 +0000 (15:05 +0400)]
Import Makefile
Alexander Polakov [Fri, 16 Apr 2010 11:03:03 +0000 (15:03 +0400)]
Import new usb stack from FreeBSD 8 unmodified.
Alexander Polakov [Fri, 16 Apr 2010 11:02:14 +0000 (15:02 +0400)]
Remove old USB stack.
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.
Matthew Dillon [Sat, 17 Apr 2010 18:16:31 +0000 (11:16 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Sat, 17 Apr 2010 18:12:02 +0000 (11:12 -0700)]
HAMMER VFS - Fix assertion panic related to record flush state
* This assertion can occur under certain circumstances if a rename
operation moves a file or directory to a parent directory, due to
a circular loop in the dependency chain.
* Fix the problem by allowing the case.
Reported-by: Sascha Wildner, Alex Hornung, Venkatesh Srinivas, others
Alexander Polakov [Sat, 17 Apr 2010 16:31:49 +0000 (20:31 +0400)]
Fix LINT kernel build.
Alexander Polakov [Fri, 16 Apr 2010 20:57:50 +0000 (00:57 +0400)]
Connect mptutil(8) to the build.
Alexander Polakov [Fri, 16 Apr 2010 20:54:03 +0000 (00:54 +0400)]
mptutil(8): fix build on DragonFly
* fix header paths
* define SPECNAMELEN
* use scsci_read_capacity_data_16 for scsi_read_capacity_data_long