freebsd-nq/sys/alpha
John Baldwin 5db078a9be Fix mtx_legal2block. The only time that it is bad to block on a mutex is
if we hold a spin mutex, since we can trivially get into deadlocks if we
start switching out of processes that hold spinlocks.  Checking to see if
interrupts were disabled was a sort of cheap way of doing this since most
of the time interrupts were only disabled when holding a spin lock.  At
least on the i386.  To fix this properly, use a per-process counter
p_spinlocks that counts the number of spin locks currently held, and
instead of checking to see if interrupts are disabled in the witness code,
check to see if we hold any spin locks.  Since child processes always
start up with the sched lock magically held in fork_exit(), we initialize
p_spinlocks to 1 for child processes.  Note that proc0 doesn't go through
fork_exit(), so it starts with no spin locks held.

Consulting from:	cp
2001-03-09 07:24:17 +00:00
..
alpha Unrevert the pmap_map() changes. They weren't broken on x86. 2001-03-07 05:29:21 +00:00
conf Clean up some leftovers from the root mount cleanup that was done some 2001-02-04 15:35:10 +00:00
include Fix mtx_legal2block. The only time that it is bad to block on a mutex is 2001-03-09 07:24:17 +00:00
isa Use the MI ithread helper functions in the alpha hardware interrupt code. 2001-02-09 17:53:23 +00:00
linux Create clone'd linux processes as stopped processes at first and don't 2001-03-06 02:59:46 +00:00
mcbus Doug found that doing a W1C on MCPCIA_INT_REQ just around the time you 2001-02-13 22:48:12 +00:00
osf1 Grab the process lock while calling psignal and before calling psignal. 2001-03-07 03:37:06 +00:00
pci Use the MI ithread helper functions in the alpha hardware interrupt code. 2001-02-09 17:53:23 +00:00
tc Another round of the <sys/queue.h> FOREACH transmogriffer. 2001-02-04 16:08:18 +00:00
tlsb Use the MI ithread helper functions in the alpha hardware interrupt code. 2001-02-09 17:53:23 +00:00
Makefile Add a dopey makefile to do the tags dance, which is probably not perfect 2000-12-31 23:26:34 +00:00