Commit Graph

14 Commits

Author SHA1 Message Date
Loïc Grégoire a969624f20 ke/smr: add support for preemptible SMR 2026-07-23 16:39:43 -04:00
Loïc Grégoire 878be31c7a ke/sched: fix lock inversion in scheduler
Taking next's lock can be a lock inversion with the turnstile code.
Use a switching field instead and spin on that.
2026-07-19 20:40:50 -04:00
Loïc Grégoire 26ec72fb36 ke: many scheduler improvements
Added:
- PELT
- Decaying CPU affinity
- Better load-balancing metrics overall
- Better comments
And refined overall scheduler behavior
2026-07-12 21:46:16 -04:00
Loïc Grégoire a9c933114d ps+ke: add thread reaping 2026-06-29 17:12:46 -04:00
Loïc Grégoire 55b89c1880 ke: make thread state atomic 2026-06-27 09:57:12 -04:00
Loïc Grégoire b67391e1f2 ke: use assert_interface for ki.impl 2026-06-26 17:46:25 -04:00
Loïc Grégoire 5ee68e2ddf ke: add Queue 2026-06-20 12:06:14 -04:00
Loïc Grégoire e50b1e0167 ps: initial process subsystem 2026-06-18 18:54:38 -04:00
Loïc Grégoire 68e0f7f8f7 ke: add turnstile and mutex 2026-06-12 15:53:10 -04:00
Loïc Grégoire 6265a8dd0d ke: add mechanisms for updating priority 2026-05-22 22:08:12 -04:00
Loïc Grégoire 1aa6743f43 refactor: use root instead of base 2026-04-17 20:58:25 -04:00
Loïc Grégoire faf76ca485 refactor: remove ke.Cpu struct 2026-03-30 17:45:49 -04:00
Loïc Grégoire b89ee0e3e5 fix(ke): fix various scheduler bugs 2026-03-24 22:22:26 -04:00
Loïc Grégoire 9e065ee023 initial commit 2026-03-21 22:47:06 -04:00