Commit Graph

30 Commits

Author SHA1 Message Date
Loïc Grégoire ad7f14ecb8 ke: detach from queue on thread exit 2026-10-10 09:37:20 -04:00
Loïc Grégoire cefc69e1b5 all: more tidying 2026-10-08 18:01:42 -04:00
Loïc Grégoire 619c373d47 all: tidy 2026-10-07 18:03:06 -04:00
Loïc Grégoire 6701f17fb1 ke: clean up wait after continuation 2026-10-04 11:37:52 -04:00
Loïc Grégoire 8815e5e52c ke: clean up wait code 2026-10-04 11:36:37 -04:00
Loïc Grégoire b802919fc2 ke: add lock warden 2026-10-04 11:36:28 -04:00
Loïc Grégoire 497e08bd7b all: standardize suffixes
ki -> kep
mi -> mmp
2026-09-02 22:20:25 -04:00
Loïc Grégoire d640053477 ke: disable stack donation for realtime threads 2026-09-02 20:37:26 -04:00
Loïc Grégoire 8226a205a0 ke: add continuations 2026-08-29 20:03:22 -04:00
Loïc Grégoire f6f20599ba ke/sched: add hard affinity cpumask 2026-08-20 21:19:50 -04:00
Loïc Grégoire 0e48c47674 ke: move priority out of thread 2026-08-20 16:41:06 -04:00
Loïc Grégoire ee0c6aad67 ke: scheduler overhaul 2026-08-19 18:04:12 -04:00
Loïc Grégoire 5bb264a9ae loader: rework kernel entry point 2026-08-07 15:40:58 -04:00
Loïc Grégoire bec872bc26 all: refactor coding style 2026-08-05 17:43:46 -04:00
Loïc Grégoire e36416304b all: type-safe time units 2026-08-02 00:02:44 -04:00
Loïc Grégoire 24372a2b4e ke/wait: add wait_reason 2026-08-02 00:02:00 -04:00
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