Go to file
thorpej e12f731db5 On the Alpha, interprocessor interrupts come in at the same priority
as normal device interrupts.  Because of this, we won't get IPIs while
servicing such interrupts.  This can lead to the following deadlock
scenario as reported by Bill Sommerfeld:
- Process runs on cpu1, but has FP state on cpu0.
- Process executes FP-using insn, causing an FP trap, which causes
  the kernel lock to be acquired.
- At roughly the same time, cpu0 receives a device interrupt, and attempts
  to acquire the kernel lock, which blocks since cpu1 already has it.
- cpu1 sends cpu0 a SYNCH FPU IPI, and waits for cpu0 to release its
  FP state.
- Since cpu0 cannot notice the IPI until it has processed the device
  interrupt, which it cannot do because it cannot acquire the kernel
  lock, we have deadlock.

Solve the problem by adding a spinlock interlock release hook which
checks for pending IPIs and processes them.

Idea from Bill Sommerfeld.
2000-11-20 20:17:13 +00:00
bin fix typo. 2000-11-20 17:48:05 +00:00
crypto Fix reversed test. 2000-11-20 14:08:12 +00:00
dist Remove unneeded code (confirmed by christos). 2000-11-20 17:45:10 +00:00
distrib Set the md_upgrade_prep_needed flag. 2000-11-20 11:52:37 +00:00
etc Remove /usr/share/examples/usermgmt and /usr/share/skel, since they 2000-11-18 06:05:10 +00:00
games remove unnecessary command name after .Nm 2000-11-07 05:51:54 +00:00
gnu Add __udiv_w_sdiv for VAX. gnupg requires it. And since it's a libgcc 2000-11-20 05:47:41 +00:00
include Move fmtcheck() prototype to stdio.h. It makes more sense to declare it 2000-11-15 15:44:05 +00:00
lib back out majority of rev 1.5, left stuff from rev. 1.5 is: 2000-11-19 20:29:05 +00:00
libexec Buffer overflow and environment passing fixes [originally inspired from 2000-11-19 20:17:39 +00:00
regress "make benchmark" will run a tiny benchmark test. 2000-11-08 06:02:01 +00:00
sbin fix incorrect comment; -d does work! 2000-11-17 12:35:09 +00:00
share Install adapted config file instead of old one. 2000-11-20 00:47:10 +00:00
sys On the Alpha, interprocessor interrupts come in at the same priority 2000-11-20 20:17:13 +00:00
usr.bin If kernel gives us a CPU number in kinfo_proc2, display it after the state. 2000-11-19 01:49:29 +00:00
usr.sbin With RARP, MAC asks, and IP answers. Fixes PR 11330 by Thilo Manske, who 2000-11-20 14:59:30 +00:00
Makefile if building w/o a DESTDIR, grab the system make files from the source 2000-10-07 17:18:17 +00:00
Makefile.inc Set RELTOP to '.' if that's where we are. 2000-05-06 15:05:15 +00:00
UPDATING ca -> lsu 2000-10-19 15:02:38 +00:00