~/talk

Enemy of the State, Understanding the Many Flavors of Race Conditions

Talkat emBO++ 2023 · 2023-03-23..03-25· [concurrency, software-architecture]
links:none on file
slides:none on file

Explains concrete race sources beyond threads: interrupt handlers and signals run on another thread’s stack and must win resource contention, so lock-free patterns replace mutexes. Shows ARM load-exclusive/store-exclusive (LDREX/STREX) used to build a correct multi-producer singly linked queue where stores return success/fail and the loser retries — inexpensive on microcontrollers due to a single-core shortcut. Demonstrates surprising hardware latency: disabling a timer can still trigger an interrupt because the peripheral sits on APB1 up to 42 MHz, so a data synchronization barrier (DSB) is required.

AI-written summary · about

  1. 0:00Introduction
  2. 1:05Compiler World
  3. 3:10Interrupt Service
  4. 4:00Sharing Stacks
  5. 5:10Sharing Signals
  6. 7:05Linked Load semantics
  7. 8:55Multiple interrupt priorities
~/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.