diff options
Diffstat (limited to 'kernel/scheduler.c')
| -rw-r--r-- | kernel/scheduler.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/kernel/scheduler.c b/kernel/scheduler.c index 6ee4416..12c4ffd 100644 --- a/kernel/scheduler.c +++ b/kernel/scheduler.c @@ -207,8 +207,15 @@ void scheduler_func() while(1) { + if(cpu==0) + { task_syscall_worker(); } + else + { + asm("hlt"); // sleeper task + } + } //task_list[cpu][0].syscall=true; // sleep //__asm__("int $0x81"); // wake scheduler! with IPI @@ -231,7 +238,7 @@ void scheduler_func() uint64_t t0=x86_rdtscp(); asm("hlt"); // sleeper task uint64_t t1=x86_rdtscp(); - klog("task 1 / slept cycles: l:%d h:%d",(t1-t0)); +// klog("task 1 / slept cycles: l:%d h:%d",(t1-t0)); } } @@ -242,7 +249,7 @@ void scheduler_func() uint64_t t0=x86_rdtscp(); asm("hlt"); // sleeper task uint64_t t1=x86_rdtscp(); - klog("task 2 (sleeper) / slept cycles: l:%d h:%d",(t1-t0)); + // klog("task 2 (sleeper) / slept cycles: l:%d h:%d",(t1-t0)); } } @@ -339,7 +346,8 @@ void task_syscall_worker() wake_mouse|=mouse_worker(); //x86_sti(); - if(wake_mouse)compositor_swap_buffers(); + //if(wake_mouse) + compositor_swap_buffers(); if(wake)scheduler_wake_all(); //if(cpu==0)compositor_swap_buffers(); |
