Commit Graph

5225 Commits

Author SHA1 Message Date
matt 57257364a0 Define/use MUTEX_COUNT_BIAS for those implementations that need one (like
vax).
2007-03-12 02:19:14 +00:00
ad a3128f66df Adjust previous: move the release of specificdata after the very last
file system operation.
2007-03-11 23:40:58 +00:00
ad 1bf149ba4c exit1: destroy the proc/lwp specificdata after calling uvm_proc_exit, as
file systems can still be using it.
2007-03-11 23:19:49 +00:00
ad f96f2e2a7f Add the LWP's runtime to kinfo_lwp. 2007-03-11 21:38:38 +00:00
ad 9a92ddadc8 Put back mtsleep() temporarily. Converting everything over to condvars
at once will take too much time..
2007-03-11 21:36:48 +00:00
dsl 6d1bab1af3 Split the work for sys_stat, sys_lstat, sys_fstat and sys_fhstat out into
separate functions that don't do the copyout.
This allows all the compat_xxx versions to convert the 'struct stat' to
the correct format without using the 'stackgap'.
The stackgap isn't at all LWP friendly, and needs to be removed from
any compat functions that might involve threads (inc. clone()).
The code is still binary compatible with existing LKMs.
2007-03-10 16:50:01 +00:00
ad b1da576054 Add a MUTEX_NODEBUG type that avoids allocating debugging resources for
the lock. To be used for e.g. struct vm_page until a better way is found.
2007-03-10 16:01:13 +00:00
ad 64e54fbb70 lockdebug:
- Initialize on the first allocation.
- Handle overflow better. PR kern/35723.
2007-03-10 15:56:21 +00:00
ad ba01c7d177 qc_init: don't leave pointers to destroyed pools hanging or we will
allocate from them later.
2007-03-10 15:54:14 +00:00
matt 770557b66a If STACKALIGN is defined, use it instead of ALIGN. Some arches need a
stack more aligned that ALIGN will give.
2007-03-09 22:25:56 +00:00
ad c147748d84 - Make the proclist_lock a mutex. The write:read ratio is unfavourable,
and mutexes are cheaper use than RW locks.
- LOCK_ASSERT -> KASSERT in some places.
- Hold proclist_lock/kernel_lock longer in a couple of places.
2007-03-09 14:11:22 +00:00
ad 50a8df5d23 mutex_onproc: remove unnecessary memory barriers. 2007-03-09 14:08:26 +00:00
yamt fd1a6294d1 fileassoc_table_lookup: call fileassoc_init if it has not been done yet.
fixes crashes sys_unlink when there are no users of fileassoc.
2007-03-09 05:51:50 +00:00
yamt 27515959ec fix typos in comments. 2007-03-09 05:00:26 +00:00
ad 7caf5b2025 trace_enter, trace_exit: acquire kernel_lock for systrace. 2007-03-08 21:25:27 +00:00
drochner c29d907bea use char* for the kernel representation of the user profile buffer
address too, for consistency
(we've lost some abstraction here)
2007-03-06 16:16:02 +00:00
drochner 5f590e753e regen 2007-03-06 16:10:17 +00:00
drochner 067e5852ea make the first argument to profil(2) char*, for consistency with <unistd.h> 2007-03-06 16:09:21 +00:00
drochner 7767c569f2 Make the attach functions for real and pseudo devices share as much code
as possible. For that, split out a function which does the allocation
of a softc (without linking it into global structures) and a function
which inserts the device into the global alldevs lists and the per-driver
cd_devs.
There is a little semantic change involved: the pseudo-device code didn't
interpret FSTATE_STAR as such, for no good reason. This looks harmless;
I'll modify driver frontends as I find ways to test.
Get config_makeroom() out of the public namespace - that's clearly an
internal of autoconf which drivers can't be allowed to deal with.
2007-03-05 20:32:43 +00:00
ad 0261e46854 - proc_unstop: adjust p_nrlwps correctly. Should fix PR kern/35657.
- LOCK_ASSERT -> KASSERT
- Update a couple of comments.
2007-03-05 20:29:14 +00:00
yamt a71bbfc44d netbsd_elf_signature: fix a caddr_t removal botch which
causes "init: not found".
2007-03-05 09:22:02 +00:00
dogcow 66b89c08f2 die, caddr_t, die. 2007-03-05 04:59:19 +00:00
mrg 3a04ec414c change an error message from:
Mutex error: sched_unlock_idle: sched_unlock_idle
to
	Mutex error: sched_unlock_idle: sched_mutex not locked
2007-03-04 21:06:13 +00:00
ad 681b77eb72 lwp_userret: if the process is exiting, don't bother looking for signals. 2007-03-04 20:59:00 +00:00
yamt 95ef0a2720 fix a fallout from caddr_t changes. 2007-03-04 14:33:57 +00:00
christos 2058fdeab3 add a lockpanic function that prints more detailed error messages. 2007-03-04 06:20:25 +00:00
christos 53524e44ef Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. 2007-03-04 05:59:00 +00:00
itohy d2585a8c91 Remove extra space so that symbol renaming works properly. 2007-03-03 10:08:18 +00:00
ad 61a2eec6c3 _lwp_wakeup: set the cancellation pending if the LWP is not sleeping. 2007-03-02 21:06:27 +00:00
ad 4cbc498383 sys__lwp_park: explicitly drop the kernel lock, for the benefit of compat32.
XXX The stack gap stuff is not MP or MT safe and needs to go away.
2007-03-02 16:14:37 +00:00
ad 8a9f592723 sys__lwp_park: on a !MULTIPROCESSOR kernel the LWP is already locked. 2007-03-02 16:09:53 +00:00
itohy cdbe0f0296 kern_mutex.c:190: macro `MUTEX_RECEIVE' used without args
kern_mutex.c:199: macro `MUTEX_RECEIVE' used without args
kern_mutex.c:206: macro `MUTEX_GIVE' used without args
2007-03-02 13:14:12 +00:00
yamt 6d6b100a95 kmem_backend_alloc: fix a null dereference. 2007-03-02 12:30:53 +00:00
martin dd8b45ebc6 Split the disklabel checksum function into two, so we can pass the
length separately.
Use this for foreign-endianess labels in wedge autodiscovery, and
calculate the checksum of those before we swap various fields in the
label.
2007-03-01 21:30:50 +00:00
ad 0bffc80584 Fix a couple of races with LWP park/unpark. 2007-03-01 14:55:06 +00:00
pooka f7ed04a6ff simplify previous a bit. no functional change. 2007-03-01 10:02:31 +00:00
pooka 428270cc03 avoid lock leak in error branch of sys_fchdir()
thanks to Tom Spindler and Greg Oster in helping find the cure
2007-02-28 20:39:06 +00:00
ad a76d1d298c Further avoid unnecessary trips through lwp_userret()/issignal(). 2007-02-27 15:19:54 +00:00
yamt c574bfa378 typedef pri_t and use it instead of int and u_char. 2007-02-27 15:07:28 +00:00
ad 72b15048da turnstile_wakeup(): on a !MULTIPROCESSOR kernel the LWP is already locked. 2007-02-27 12:17:55 +00:00
ad cbe547e6a7 - Nuke mutex_owner()
- mutex_getowner() -> mutex_owner()
2007-02-26 19:11:28 +00:00
ad f944608c11 Add a comment. 2007-02-26 19:06:10 +00:00
drochner b68dbc6775 regen 2007-02-26 12:20:03 +00:00
drochner 8b8213b508 sync with lwp.h: _lwp_unpark_all() returns ssize_t 2007-02-26 12:19:00 +00:00
yamt e781af39bd implement priority inheritance. 2007-02-26 09:20:52 +00:00
christos 2a84b2c2c1 Revert the kauth_impl.h change. Elad is going to maintain this. Asked by core@ 2007-02-24 20:41:33 +00:00
ad 9501d652a0 setrunnable(): don't require that sleeps be interruptable. This breaks
smbfs. Fixes PR/35787.
2007-02-23 16:51:47 +00:00
thorpej 4f3d5a9cc0 TRUE -> true, FALSE -> false 2007-02-22 06:34:42 +00:00
matt 93feeb1203 Fix lossage from boolean_t -> bool and updated x86 bus_dma. 2007-02-22 04:38:02 +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