Official MINIX sources - Automatically replicated from gerrit.minix3.org
Go to file
Tomas Hruby 8451a86f0a Interrupts hadling while idle
- When the cpu halts, the interrupts are enable so the cpu may be
  woken up. When the interrupt handler returns but another interrupt
  is available it is also serviced immediately. This is not a problem
  per-se. It only slightly breaks time accounting as idle accounted is
  for the kernel time in the interrupt handler.
  
  
-  As the big kernel lock is lock/unlocked in the smp branch in the
   time acounting functions as they are called exactly at the places
   we need to take the lock) this leads to a deadlock.

- we make sure that once the interrupt handler returns from the nested
  trap, the interrupts are disabled. This means that only one
  interrupt is serviced after idle is interrupted.

- this requires the loop in apic timer calibration to keep reenabling
  the interrupts. I admit it is a little bit hackish (one line),
  however, this code is a stupid corner case at the boot time.
  Hopefully it does not matter too much.
2010-03-23 13:35:01 +00:00
benchmarks only check local benchmark dir if it exists 2010-02-04 18:15:10 +00:00
boot Work around KVM unreal mode bug by avoiding unreal mode 2010-03-10 15:32:31 +00:00
commands Convert drivers/ and servers/ over to bsdmake 2010-03-22 21:25:22 +00:00
docs this patch adds access to the debug breakpoints to 2010-03-19 19:15:20 +00:00
drivers Convert drivers/ and servers/ over to bsdmake 2010-03-22 21:25:22 +00:00
etc Convert drivers/ and servers/ over to bsdmake 2010-03-22 21:25:22 +00:00
include IPC status code for receive(). 2010-03-23 00:09:11 +00:00
kernel Interrupts hadling while idle 2010-03-23 13:35:01 +00:00
lib IPC status code for receive(). 2010-03-23 00:09:11 +00:00
man New RS and new signal handling for system processes. 2010-03-17 01:15:29 +00:00
servers IPC status code for receive(). 2010-03-23 00:09:11 +00:00
test New RS and new signal handling for system processes. 2010-03-17 01:15:29 +00:00
tools Prioritized NOTIFY messages for reliable asynchonrous delivery of system events. 2010-03-22 23:44:55 +00:00
LICENSE Fix parameter parsing in cut 2010-01-21 10:16:05 +00:00
Makefile Convert drivers/ and servers/ over to bsdmake 2010-03-22 21:25:22 +00:00