Elektrine lite

← Feed

@david_chisnall@infosec.exchange

Post #3781166

2026-07-13 08:23 UTC

@zwol@masto.hackers.town Not really, microkernels usually have the scheduler in a single component, so flexible policies are easy. The difficulty they have is quite different: they want to account time spent in server A responding for a message from thread X in task B to thread X and task B. Spring had a good solution to this, but without it it’s easy to introduce priority inversion problems.

Replies (1)

  • @zwol@masto.hackers.town 2026-07-13 15:34

    @david_chisnall@infosec.exchange I have the impression Spring's solution rests on "doors" being synchronous. If I designed a microkernel it would be strictly asynchronous: all cross-domain invocations "just" queue a message and the *only* blocking operation is "wait for next message". Backpressure is achieved by charging senders for all messages in flight. I *think* this environment could handle priority inheritance by tracking the task priorities of all unacknowledged messages.

    Open ##3788882