Loïc Grégoire
|
6284ba7824
|
ke/smr: add deferred advance
|
2026-07-19 16:28:09 -04:00 |
|
Loïc Grégoire
|
3ffca18054
|
ke: initial SMR implementation
|
2026-07-19 11:27:42 -04:00 |
|
Loïc Grégoire
|
a2c2e833be
|
ex/work: dynamic thread spawning
|
2026-07-18 21:24:16 -04:00 |
|
Loïc Grégoire
|
782196275b
|
mm+ke: make shootdowns use HandoffList
|
2026-07-18 16:45:32 -04:00 |
|
Loïc Grégoire
|
d21cefaf10
|
ke/spinlock: use std.atomic
|
2026-07-18 16:11:05 -04:00 |
|
Loïc Grégoire
|
fddd9865f7
|
ke/mutex: do TTAS spin
This is better to do than `pause`-ing in a CAS loop.
|
2026-07-18 16:08:34 -04:00 |
|
Loïc Grégoire
|
301946c774
|
all: use root boot info pointer
|
2026-07-18 14:41:30 -04:00 |
|
Loïc Grégoire
|
072239dc32
|
loader: detect CPU features
|
2026-07-18 14:37:30 -04:00 |
|
Loïc Grégoire
|
3c72101228
|
rework entry point
|
2026-07-17 21:26:13 -04:00 |
|
Loïc Grégoire
|
a79c7a07cb
|
loader: initial loader code
|
2026-07-16 19:48:01 -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
|
2a38cd4f4d
|
ke/turnstile: fix a bunch of bugs
|
2026-07-08 12:46:18 -04:00 |
|
Loïc Grégoire
|
5fbc61ecb1
|
ke/mutex: fix possible use-after-free
A thread might get reaped between loading the owner and its state,
leading to a possible use-after-free.
|
2026-07-08 11:15:31 -04:00 |
|
Loïc Grégoire
|
2d18761822
|
rtl: add LinkerSet
|
2026-07-04 22:50:15 -04:00 |
|
Loïc Grégoire
|
baf8516f34
|
ke: add tunables
|
2026-07-04 17:34:26 -04:00 |
|
Loïc Grégoire
|
4a03a10d0c
|
everywhere: nuke UM
|
2026-07-02 20:01:12 -04:00 |
|
Loïc Grégoire
|
88d6fd10de
|
ke: don't signal log event if high IPL
|
2026-07-01 13:02:07 -04:00 |
|
Loïc Grégoire
|
11c858c5e8
|
ke: add is_locked to mutex
|
2026-06-29 22:32:41 -04:00 |
|
Loïc Grégoire
|
a9c933114d
|
ps+ke: add thread reaping
|
2026-06-29 17:12:46 -04:00 |
|
Loïc Grégoire
|
25c770999f
|
all: refactor imports
|
2026-06-27 10:55:19 -04:00 |
|
Loïc Grégoire
|
f94098d0a5
|
ke: change mutex spinning policy
|
2026-06-27 10:06:17 -04:00 |
|
Loïc Grégoire
|
55b89c1880
|
ke: make thread state atomic
|
2026-06-27 09:57:12 -04:00 |
|
Loïc Grégoire
|
5353ab2e0b
|
rtl: check all decls in interfaces
|
2026-06-27 09:17:25 -04:00 |
|
Loïc Grégoire
|
827f8b90d1
|
all: add console and logging machinery
|
2026-06-26 23:41:22 -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
|
4ba57ad42a
|
ke+mm: add TLB shootdown and memory reclamation.
|
2026-06-25 21:33:14 -04:00 |
|
Loïc Grégoire
|
3aa0daaee7
|
rtl: add AtomicBitmap
|
2026-06-20 13:56:54 -04:00 |
|
Loïc Grégoire
|
9e212277b5
|
ke: export Mutex
|
2026-06-20 12:08:59 -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
|
42b10b886e
|
ke: make DPC handlers take in DPC pointer as parameter
|
2026-06-18 10:38:31 -04:00 |
|
Loïc Grégoire
|
797018f86e
|
ke: add reset to event
|
2026-06-17 19:57:35 -04:00 |
|
Loïc Grégoire
|
ead1f5b324
|
ke: fix livelock in turnstile
|
2026-06-14 11:37:48 -04:00 |
|
Loïc Grégoire
|
534a7f2e2c
|
ke(mutex): do optimistic spinning
|
2026-06-14 10:59:23 -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
|
bf1fa31aed
|
ke: fix racey DPC inserted field
|
2026-05-19 22:09:54 -04:00 |
|
Loïc Grégoire
|
b87b3cfad2
|
everywhere: use @Int instead of std.meta
|
2026-05-14 09:06:30 -04:00 |
|
Loïc Grégoire
|
c08288c401
|
ke: fix timestamp formatting
|
2026-05-14 09:06:07 -04:00 |
|
Loïc Grégoire
|
3a701067cd
|
rtl: add BitMap
Adds a new BitMap type in rtl for static bitmaps, now used to back
ke.CpuMask.
|
2026-05-08 14:58:57 -04:00 |
|
Loïc Grégoire
|
5d8a9a4646
|
build: fix compile errors and update zonfig
|
2026-05-08 13:43:59 -04:00 |
|
Loïc Grégoire
|
20c3fccf0d
|
feat(ke): add generic event
|
2026-05-02 12:16:00 -04:00 |
|
Loïc Grégoire
|
c82f9759b4
|
feat(ke/panic): add panic lock
|
2026-05-02 12:14:45 -04:00 |
|
Loïc Grégoire
|
07cc976467
|
fix(ke): pin initial thread
|
2026-05-02 12:14:18 -04:00 |
|
Loïc Grégoire
|
764b446ef1
|
fix(ke/sched): fix various bugs
|
2026-05-02 12:13:46 -04:00 |
|
Loïc Grégoire
|
3306b7e97f
|
fix(ke): fix stale config check
|
2026-04-24 14:59:17 -04:00 |
|
Loïc Grégoire
|
6b7de48d0a
|
fix(ke): fix off-by-one in qspinlocks
|
2026-04-24 14:33:10 -04:00 |
|
Loïc Grégoire
|
a46782adca
|
build: switch to zonfig
|
2026-04-24 10:35:53 -04:00 |
|
Loïc Grégoire
|
36690a8149
|
fix(ke): acquire debug lock at high IPL
|
2026-04-19 20:59:46 -04:00 |
|
Loïc Grégoire
|
02fdb1313d
|
fix(amd64): do sti at another point
|
2026-04-19 19:27:54 -04:00 |
|