Reverted my last change as it turned out that the lazy FPU state handling was not SMP safe afterall and the performance gain is questionable. Maybe it'll be implemented correctly in the future. Sorry for any inconvenience this may have cost.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17272 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Michael Lotz
2006-04-29 22:10:04 +00:00
parent 4da35ea940
commit 2a03240eb1
8 changed files with 27 additions and 47 deletions
@@ -108,6 +108,8 @@ void i386_fnsave(void *fpu_state);
void i386_fxsave(void *fpu_state);
void i386_frstor(const void *fpu_state);
void i386_fxrstor(const void *fpu_state);
void i386_fnsave_swap(void *old_fpu_state, const void *new_fpu_state);
void i386_fxsave_swap(void *old_fpu_state, const void *new_fpu_state);
uint32 x86_read_ebp();
uint32 x86_read_cr0();
void x86_write_cr0(uint32 value);
-4
View File
@@ -10,7 +10,6 @@
#include <smp.h>
#include <thread.h>
#include <timer.h>
#include <boot/kernel_args.h>
@@ -25,9 +24,6 @@ typedef union cpu_ent {
int preempted;
timer quantum_timer;
// tells which thread's fpu state we hold
struct thread *fpu_state_thread;
// keeping track of CPU activity
bigtime_t active_time;
bigtime_t last_kernel_time;
-1
View File
@@ -139,7 +139,6 @@ struct thread {
int32 state;
int32 next_state;
union cpu_ent *cpu;
union cpu_ent *fpu_cpu; /* this cpu holds our fpu state */
sigset_t sig_pending;
sigset_t sig_block_mask;