Catch stream heisenbug, initialize scheduler IRQs before smp_init (), reduce stream max size
All checks were successful
Build documentation / build-and-deploy (push) Successful in 3m29s
All checks were successful
Build documentation / build-and-deploy (push) Successful in 3m29s
This commit is contained in:
@@ -78,6 +78,9 @@ void bootmain (void) {
|
||||
struct device* temp0 = device_find ("temp0");
|
||||
vfs_create_volume (thiscpu->kproc, &rctx, "temp", FS_FAT16, temp0, true);
|
||||
|
||||
irq_attach (&proc_irq_sched, NULL, SCHED_PREEMPT_TIMER);
|
||||
irq_attach (&proc_irq_sched, NULL, CPU_REQUEST_SCHED);
|
||||
|
||||
smp_init ();
|
||||
|
||||
proc_init ();
|
||||
|
||||
@@ -12,8 +12,6 @@
|
||||
#include <sys/smp.h>
|
||||
|
||||
void do_sched (struct proc* proc, spin_lock_t* cpu_lock, uint64_t lockflags) {
|
||||
__asm__ volatile ("cli");
|
||||
|
||||
uint64_t fp;
|
||||
|
||||
spin_lock (&proc->lock, &fp);
|
||||
@@ -32,5 +30,7 @@ void do_sched (struct proc* proc, spin_lock_t* cpu_lock, uint64_t lockflags) {
|
||||
spin_unlock (&proc->lock, fp);
|
||||
spin_unlock (cpu_lock, lockflags);
|
||||
|
||||
__asm__ volatile ("cli");
|
||||
|
||||
do_sched1 ((void*)®s, cr3);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user