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