Commit Graph

15 Commits

Author SHA1 Message Date
Loïc Grégoire c55beec893 ke,ex: rework kernel queue
There was previously a lock inversion in the queue code where we acquired the
queue lock under the thread lock (in the wait_any committing path). This patch
attempts to fix this by instead using an atomic count and deferring the waking
of other threads to a DPC.
2026-10-10 09:37:43 -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 8226a205a0 ke: add continuations 2026-08-29 20:03:22 -04:00
Loïc Grégoire 07b3893859 ke/sched: add pin helpers 2026-08-20 21:33:22 -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 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 05c7694776 ke/wait: make timeout parameter explicit 2026-08-01 22:44:22 -04:00
Loïc Grégoire 02d2fb5144 ke/timer: make DPC parameter explicit 2026-08-01 22:43:32 -04:00
Loïc Grégoire 0f0ddffb2c ex: add DelayedWorkItem
Separate WorkItem from DelayedWorkItem so that the former doesn't pay
the price of a timer and a Dpc if it won't ever get delayed.
2026-08-01 09:53:17 -04:00
Loïc Grégoire a2c2e833be ex/work: dynamic thread spawning 2026-07-18 21:24:16 -04:00
Loïc Grégoire c1043f224a ex: rename workqueue to work 2026-07-18 16:48:03 -04:00