cegger
83fde857cc
buildfix: use PRIxPTR rather %lx.
2008-11-07 19:50:00 +00:00
rafal
ca70a1c015
Pass / log return address in a few more places; proposed on tech-kern and
...
ok'd by ad@ about 6 months ago.
2008-11-07 02:40:35 +00:00
matt
5a4f0c6b2b
Change tree op members/typedefs to rbto_compare_* from rb_compare_*
2008-06-30 20:14:09 +00:00
ad
13c7f6ff40
Move lib/libkern/rb.h to sys/rb.h, so it can be used by kernel header
...
files.
2008-06-04 14:31:15 +00:00
ad
7b8f512433
LOCKDEBUG:
...
- Tweak it so it can also catch common errors with condition variables.
The change to kern_condvar.c is not included in this commit and will
come later.
- Don't call kmem_alloc() if operating in interrupt context, just fail
the allocation and disable debugging for the object. Makes it safe
to do mutex_init/rw_init/cv_init in interrupt context, when running
a LOCKDEBUG kernel.
2008-05-31 13:15:21 +00:00
ad
a4e0004be3
LOCKDEBUG: try to speed it up a bit by not using so much global state.
...
This will break the build briefly but will be followed by another commit
to fix that..
2008-05-06 18:40:57 +00:00
ad
81194e34f1
Allow rw_tryenter(&lock, RW_READER) to recurse, for vfs_busy().
2008-05-06 17:11:45 +00:00
yamt
839080f755
lockdebug: try to detect recursive acquirements of read-write locks.
2008-05-03 06:24:55 +00:00
martin
ce099b4099
Remove clause 3 and 4 from TNF licenses
2008-04-28 20:22:51 +00:00
ad
8f9c8f5ea5
lockdebug_barrier: disable preemption using the interrupt priority level,
...
not crit_enter/crit_exit. Since this is called from mi_switch(), crit_exit
could recurse and skew statistics.
2008-04-27 11:28:49 +00:00
ad
feb4783fdf
Replace use of CACHE_LINE_SIZE in some obvious places.
2008-03-27 18:30:15 +00:00
ad
057adba179
Make it compile if !LOCKDEBUG.
2008-02-18 18:31:10 +00:00
ad
7eb6056f9a
Try to prevent more than one CPUs panicing when an error is detected.
2008-02-18 16:02:41 +00:00
ad
212c50dd1b
Need sys/lock.h for SPINLOCK_SPIN_HOOK.
2008-01-05 12:39:27 +00:00
ad
0664a0459b
Start detangling lock.h from intr.h. This is likely to cause short term
...
breakage, but the mess of dependencies has been regularly breaking the
build recently anyhow.
2008-01-04 21:17:40 +00:00
ad
ea3f10f7e0
Merge more changes from vmlocking2, mainly:
...
- Locking improvements.
- Use pool_cache for more items.
2007-12-26 16:01:34 +00:00
ad
461cd942ea
Merge changes from vmlocking2 branch.
2007-12-08 15:00:13 +00:00
ad
b470ab628d
Use membar_*().
2007-11-30 23:05:43 +00:00
yamt
354863d6e5
lockdebug_mem_check: turn a redundant check into a panic.
2007-11-26 08:16:49 +00:00
yamt
33e66db218
fix lockdebug_mem_check.
2007-11-22 10:47:37 +00:00
yamt
671754cc2e
lockdebug_alloc: detect double initialization explicitly.
2007-11-21 11:33:11 +00:00
yamt
51e523b832
re-enable lockdebug_mem_check. ad@ said disabling it was a mistake
...
in the first place.
the implementation has been changed to use rb-tree rather than hash
so that it can check regions larger than page size as well.
2007-11-21 10:25:51 +00:00
yamt
87fcbb0fe8
remove #if 0'ed code.
2007-11-21 10:21:40 +00:00
yamt
38d5e34116
make kmutex_t and krwlock_t smaller by killing lock id.
...
ok'ed by Andrew Doran.
2007-11-21 10:19:06 +00:00
matt
2cab8950e4
Don't static init simplelock (back out those changes).
2007-11-12 06:14:57 +00:00
matt
90ef495f4d
use __SIMPLELOCK_UNLOCKED, not SIMPLELOCK_INITIALIZER
2007-11-12 06:07:43 +00:00
matt
11910619f7
Change some initialization of static queues to compile time.
...
(xxx_INIT to xxx_HEAD_INITIALIZER). Drop code which inits
non-auto (global or static) variables to 0 since that's
already implied by being non-auto. Init some static/global
cpu_simple_locks at compile time.
2007-11-11 23:22:23 +00:00
ad
d831186d55
Merge scheduler changes from the vmlocking branch. All discussed on
...
tech-kern:
- Invert priority space so that zero is the lowest priority. Rearrange
number and type of priority levels into bands. Add new bands like
'kernel real time'.
- Ignore the priority level passed to tsleep. Compute priority for
sleep dynamically.
- For SCHED_4BSD, make priority adjustment per-LWP, not per-process.
2007-11-06 00:42:39 +00:00
ad
dde5d75e78
Fix spelling.
2007-10-27 01:23:25 +00:00
ad
11dc639958
Merge from vmlocking:
...
- G/C spinlockmgr() and simple_lock debugging.
- Always include the kernel_lock functions, for LKMs.
- Slightly improved subr_lockdebug code.
- Keep sizeof(struct lock) the same if LOCKDEBUG.
2007-10-11 19:45:24 +00:00
dsl
0ca3d21b5b
Include sys/cdefs.h first.
2007-09-21 19:14:12 +00:00
ad
029f4f9cd7
splstatclock, spllock -> splhigh
2007-06-15 20:17:07 +00:00
skrll
5492d86688
Correct comment.
2007-05-21 11:56:35 +00:00
yamt
6bcb315f7d
lockdebug_abort: s/int/u_int/ for lock id as the rest of code.
2007-05-02 14:07:02 +00:00
ad
64e54fbb70
lockdebug:
...
- Initialize on the first allocation.
- Handle overflow better. PR kern/35723.
2007-03-10 15:56:21 +00:00
thorpej
4f3d5a9cc0
TRUE -> true, FALSE -> false
2007-02-22 06:34:42 +00:00
thorpej
dd962f8680
Pick up some additional files that were missed before due to conflicts
...
with newlock2 merge:
Replace the Mach-derived boolean_t type with the C99 bool type. A
future commit will replace use of TRUE and FALSE with true and false.
2007-02-21 23:48:10 +00:00
ad
b07ec3fc38
Merge newlock2 to head.
2007-02-09 21:55:00 +00:00