~/talk

Inter Process Confusion - Navigating Zephyr's IPC APIs

name:Andy Ross
links:none on file
slides:none on file

Zephyr gives concrete primitives and tradeoffs: k_sem is tiny and uncontended operations cost about a dozen cycles, threads are expensive (expect ~4K stack each), work queues avoid extra threads, and condition variables prevent queue-selection races. User‑space syscall overhead jumps to hundreds of cycles so kernel objects win for speed but not size. Prefer pipes or message queues for stream data, use k_event instead of complex poll when multiplexing, and never predicate blocking calls — that pattern causes bugs.

AI-written summary · about

  1. 0:00Zephyr IPC challenges
  2. 7:25Uncovered Zephyr IPC APIs
  3. 11:12Kernel IPC primitives
  4. 16:29Semaphores for IPC
  5. 23:52Message queues tradeoffs
  6. 29:54Race conditions in queues
  7. 33:44When to use condition variables
  8. 34:50Threadless event handling
  9. 36:35User space IPC performance
  10. 38:59Fast user space IPC with futexes
  11. 40:02Final recommendations
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.