minix/kernel/arch/i386
Tomas Hruby cbc9586c13 Lazy FPU
- FPU context is stored only if conflict between 2 FPU users or while
  exporting context of a process to userspace while it is the active
  user of FPU

- FPU has its owner (fpu_owner) which points to the process whose
  state is currently loaded in FPU

- the FPU exception is only turned on when scheduling a process which
  is not the owner of FPU

- FPU state is restored for the process that generated the FPU
  exception. This process runs immediately without letting scheduler
  to pick a new process to resolve the FPU conflict asap, to minimize
  the FPU thrashing and FPU exception hadler execution

- faster all non-FPU-exception kernel entries as FPU state is not
  checked nor saved

- removed MF_USED_FPU flag, only MF_FPU_INITIALIZED remains to signal
  that a process has used FPU in the past
2010-06-07 07:43:17 +00:00
..
include Convert kernel over to bsdmake 2010-04-01 22:22:33 +00:00
apic.c Removed some unused variables and functions. 2010-06-02 19:41:38 +00:00
apic.h Fixed some inconsistent strict typing declarations. 2010-05-25 07:23:24 +00:00
apic_asm.h Convert kernel over to bsdmake 2010-04-01 22:22:33 +00:00
apic_asm.S Buildsystem changes for GCC 2010-05-19 13:24:15 +00:00
arch_clock.c Removed some unused variables and functions. 2010-06-02 19:41:38 +00:00
arch_do_vmctl.c Oops, last commit included more than was intended 2010-05-20 08:07:47 +00:00
arch_system.c Lazy FPU 2010-06-07 07:43:17 +00:00
arch_watchdog.c scheduling - time quantum in miliseconds 2010-05-25 08:06:14 +00:00
breakpoints.c Fix types in debug register functions 2010-04-28 08:35:05 +00:00
debugreg.h Fix types in debug register functions 2010-04-28 08:35:05 +00:00
debugreg.S Buildsystem changes for GCC 2010-05-19 13:24:15 +00:00
do_int86.c Convert kernel over to bsdmake 2010-04-01 22:22:33 +00:00
do_iopenable.c Convert kernel over to bsdmake 2010-04-01 22:22:33 +00:00
do_readbios.c Convert kernel over to bsdmake 2010-04-01 22:22:33 +00:00
do_sdevio.c Convert kernel over to bsdmake 2010-04-01 22:22:33 +00:00
exception.c Lazy FPU 2010-06-07 07:43:17 +00:00
glo.h Local APIC 2009-11-16 21:41:44 +00:00
i8259.c remove intr_disabled() as interrupts are always disabled in the kernel now. 2010-04-26 15:32:42 +00:00
kernel.lds Buildsystem changes for GCC 2010-05-19 13:24:15 +00:00
klib.S kernel fpu context switching: fix race condition 2010-06-03 11:32:22 +00:00
Makefile.inc kernel: oxpcie serial card support. 2010-05-19 10:00:02 +00:00
memory.c Oops, last commit included more than was intended 2010-05-20 08:07:47 +00:00
mpx.S Lazy FPU 2010-06-07 07:43:17 +00:00
oxpcie.c kernel: oxpcie serial card support. 2010-05-19 10:00:02 +00:00
oxpcie.h kernel: oxpcie serial card support. 2010-05-19 10:00:02 +00:00
protect.c Fixed some inconsistent strict typing declarations. 2010-05-25 07:23:24 +00:00
proto.h kernel fpu context switching: fix race condition 2010-06-03 11:32:22 +00:00
sconst.h Lazy FPU 2010-06-07 07:43:17 +00:00
serial.h kernel: oxpcie serial card support. 2010-05-19 10:00:02 +00:00