minix/kernel
Tomas Hruby 6aa26565e6 SMP - Big kernel lock (BKL)
- to isolate execution inside kernel we use a big kernel lock
  implemented as a spinlock

- the lock is acquired asap after entering kernel mode and released as
  late as possible. Only one CPU as a time can execute the core kernel
  code

- measurement son real hw show that the overhead of this lock is close
  to 0% of kernel time for the currnet system

- the overhead of this lock may be as high as 45% of kernel time in
  virtual machines depending on the ratio between physical CPUs
  available and emulated CPUs. The performance degradation is
  significant
2010-09-15 14:10:03 +00:00
..
arch/i386 SMP - Big kernel lock (BKL) 2010-09-15 14:10:03 +00:00
system SMP - Cpu local variables 2010-09-15 14:09:46 +00:00
clock.c SMP - Cpu local variables 2010-09-15 14:09:46 +00:00
clock.h scheduling - time quantum in miliseconds 2010-05-25 08:06:14 +00:00
config.h SMP - We boot APs 2010-09-15 14:09:52 +00:00
const.h Fixed brackets in bitmap macros 2010-03-30 08:34:33 +00:00
cpulocals.c SMP - Cpu local variables 2010-09-15 14:09:46 +00:00
cpulocals.h SMP - Cpu local variables 2010-09-15 14:09:46 +00:00
debug.c RS crash recovery support. 2010-07-06 22:05:21 +00:00
debug.h include - minor compile fixes (including <ansi.h> in files that use it) 2010-09-15 08:47:10 +00:00
extract-errno.sh Optional IPC logging 2010-06-24 13:31:40 +00:00
extract-mfield.sh Optional IPC logging 2010-06-24 13:31:40 +00:00
extract-mtype.sh Optional IPC logging 2010-06-24 13:31:40 +00:00
glo.h SMP - We boot APs 2010-09-15 14:09:52 +00:00
interrupt.c APIC mode uses IO APICs 2010-09-07 07:18:11 +00:00
ipc.h Set IPC status code only for RECEIVE 2010-04-26 14:43:59 +00:00
kernel.h SMP - We boot APs 2010-09-15 14:09:52 +00:00
main.c SMP - Big kernel lock (BKL) 2010-09-15 14:10:03 +00:00
Makefile SMP - We boot APs 2010-09-15 14:09:52 +00:00
perf.h Give RS a page table. 2010-06-28 22:07:49 +00:00
priv.h Dynamic configuration in system.conf for boot system services. 2010-07-13 21:11:44 +00:00
proc.c SMP - We boot APs 2010-09-15 14:09:52 +00:00
proc.h kernel: fix case of EAX getting clobbered after sigreturn. 2010-07-20 17:10:09 +00:00
profile.c SMP - Cpu local variables 2010-09-15 14:09:46 +00:00
profile.h cprofile not conditional 2009-01-09 21:44:52 +00:00
proto.h SMP - We boot APs 2010-09-15 14:09:52 +00:00
smp.c SMP - Big kernel lock (BKL) 2010-09-15 14:10:03 +00:00
smp.h SMP - Big kernel lock (BKL) 2010-09-15 14:10:03 +00:00
spinlock.h SMP - Big kernel lock (BKL) 2010-09-15 14:10:03 +00:00
start.c SMP - Kernel is loaded above 1M by default 2010-09-15 14:10:00 +00:00
system.c Scheduling parameters out of the kernel. 2010-07-13 15:30:17 +00:00
system.h KCall methods do not depend on m_source and m_type fields 2010-06-01 08:54:31 +00:00
table.c Scheduling parameters out of the kernel. 2010-07-13 15:30:17 +00:00
type.h Scheduling parameters out of the kernel. 2010-07-13 15:30:17 +00:00
utility.c More endpoint_t correctness. 2010-06-08 14:09:18 +00:00
vm.h No linear addresses in message delivery 2010-06-11 08:16:10 +00:00
watchdog.c SMP - We boot APs 2010-09-15 14:09:52 +00:00
watchdog.h Convert kernel over to bsdmake 2010-04-01 22:22:33 +00:00