31 Commits

Author SHA1 Message Date
wnstngs 513faa92c7 kernel: use list.h for scheduling run queues 2026-10-07 10:24:50 +03:00
Matheus 0cdd03eba8 smp: fix race between cpu exposure and smp init
The SMP code exposes that a cpu woke up before it is properly
initialized in sched_ap_entry(). Fix this by initializing it first,
exposing it and then stopping the bootstrap thread.
2026-10-06 11:51:01 -03:00
Matheus 1ed159489d scheduler: only run load balance when appropriate
Prevent the load balancer from balancing when running uniprocessor
machines and when not all CPUs are online yet.

This prevents a race between ap initialization and load balancing.
2026-10-06 11:51:00 -03:00
Matheus 7a533242ad scheduler: make idle cpus steal work 2026-09-16 00:22:05 -03:00
Matheus 74c0bb2450 sched: actually set cpus as idle 2026-09-15 23:19:56 -03:00
Matheus d1cc050d76 sched: fix race on thread switching 2026-09-14 13:21:47 -03:00
Matheus d7343e7b55 scheduler: rework load balancing locking 2026-08-17 21:47:00 -03:00
Matheus 239c267ed3 mm: rename vmm api to mm 2026-07-01 15:00:46 -03:00
Matheus 99701d2fb9 sched: fix bsp getting higher priority than target during bringup 2026-06-30 17:35:29 -03:00
Matheus eb798d24b4 scheduler: copy arguments in checktrampoline to prevent a race 2026-06-29 02:13:37 -03:00
Matheus 6eaa3223d1 scheduler: pick cpus properly in pick_cpu when system is not fully up yet 2026-06-15 22:37:25 -03:00
Matheus 659b29ef4e syscalls: implement sysctl and add process listing 2026-06-09 17:47:27 -03:00
Matheus ef8c346940 scheduler: reduce quantum to 10ms 2026-05-28 23:58:34 -03:00
iretq 99d3374fc0 dpc: add dpc_prepare 2026-03-04 03:26:06 +01:00
Matheus 47f5a2fcfb sched: fix division by 0 2025-12-05 18:06:17 -03:00
Matheus ab90700203 scheduler: add a few more sanity checks 2025-11-08 02:20:05 -03:00
Matheus e52e1358c1 scheduler: change where a flag is changed 2025-11-02 21:38:20 -03:00
Matheus 80786cf97a kernel_args: redo implementation 2025-09-07 23:09:34 -03:00
Matheus 1f4660d407 scheduler: if load balancer is run before smp is up, return 2025-09-07 00:06:26 -03:00
Matheus 1c314b7098 sched: fix load balancer locking 2025-08-31 22:26:58 -03:00
Matheus 91ac6052f0 sched: fix running flag 2025-08-27 21:53:15 -03:00
Matheus a11406a600 scheduler: load balancing initial implementation 2025-08-25 22:41:20 -03:00
Matheus c84aa086dd fix interrupt disabled bug 2025-08-23 16:03:10 -03:00
Matheus 7a890ac41d scheduler: continue work 2025-08-23 13:54:45 -03:00
Matheus dbebef0e03 scheduler: implement nice 2025-08-21 18:46:58 -03:00
Matheus c024e1abb7 scheduler: little bit of cleanup 2025-08-20 22:15:09 -03:00
Matheus 136c86354c scheduler: continue rework 2025-08-20 22:00:25 -03:00
Matheus 5098c09f26 scheduler: begin rework 2025-08-19 00:44:14 -03:00
Matheus 607566531d kernel: rework init 2025-08-14 20:25:43 -03:00
Matheus 936180e228 signal: ucontext and a fix 2024-12-25 20:23:32 -03:00
Matheus 0bff52b41e sched: finish preparing scheduler for rewrite 2024-09-21 23:06:37 -03:00