summaryrefslogtreecommitdiff
path: root/kernel/scheduler.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/scheduler.c')
-rw-r--r--kernel/scheduler.c14
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();