←back to thread

257 points keepamovin | 8 comments | | HN request time: 0.782s | source | bottom
1. lukeh ◴[] No.44350352[source]
Does modern Linux have anything close to Doors? I’ve an embedded application where two processes exchange small amounts of data which are latency sensitive, and I’m wondering if there’s anything better than AF_UNIX.
replies(3): >>44351021 #>>44351080 #>>44351861 #
2. the8472 ◴[] No.44351021[source]
shared memory provides the lowest latency, but you still need to deal with task wakeup, which is usually done via futexs. Google was working on a FUTEX_SWAP call for linux which would have allowed direct handover from one task to another, not sure what happened to that.
replies(1): >>44353090 #
3. mort96 ◴[] No.44351080[source]
Would be helpful to know what your problem is with AF_UNIX at the moment. Is it lacking in features you want? Is it higher latency than you'd want? Is the server/client socket API style not appropriate for your use-case?
replies(1): >>44351205 #
4. lukeh ◴[] No.44351205[source]
Well, it’s probably fine but, it’s an audio application where metering (not audio) is delivered from a control plane process to a UI process. Lower latency is better. But haven’t measured it.
5. themerone ◴[] No.44351861[source]
What are Doors, it's too common a word to Google.
replies(2): >>44352084 #>>44352146 #
6. kjellsbells ◴[] No.44352084[source]
Lightweight IPC invented by Sun.

https://en.m.wikipedia.org/wiki/Doors_(computing)

Look for Doors solaris and there are quite a few articles.

7. ◴[] No.44352146[source]
8. Galanwe ◴[] No.44353090[source]
If you really want low latency, then you should be OK to trade power/CPU for it, and you can just spin instead of being woken up.