cbc9586c13
- 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 |
||
---|---|---|
.. | ||
include | ||
apic.c | ||
apic.h | ||
apic_asm.h | ||
apic_asm.S | ||
arch_clock.c | ||
arch_do_vmctl.c | ||
arch_system.c | ||
arch_watchdog.c | ||
breakpoints.c | ||
debugreg.h | ||
debugreg.S | ||
do_int86.c | ||
do_iopenable.c | ||
do_readbios.c | ||
do_sdevio.c | ||
exception.c | ||
glo.h | ||
i8259.c | ||
kernel.lds | ||
klib.S | ||
Makefile.inc | ||
memory.c | ||
mpx.S | ||
oxpcie.c | ||
oxpcie.h | ||
protect.c | ||
proto.h | ||
sconst.h | ||
serial.h |