~/talk

Controlling Multi-Core Race Conditions on Linux/Android

Talkat Embedded Linux Conference 2013 · 2013-02-20..02-22· [concurrency]
links:none on file
slides:none on file

Shows that Android’s Java framework still Java framework lacks thread affinity while NDK and bionic expose CPU affinity, so legacy code can migrate and misbehave when threads run on different cores. Demonstrates a small counter race that only fails rarely but reproducibly until protected by a mutex, and shows cache-line false sharing on 64B cache line causing huge slowdowns; moving data off the same line cuts a 14s run to ~6s. Recommends futex with priority inheritance and careful data alignment.

AI-written summary · about

  1. 0:00Introduction to multicore
  2. 2:58Multicore motivations
  3. 4:27Performance challenges
  4. 7:46Linux scheduling models
  5. 10:56Thread scheduling mechanics
  6. 14:45Race conditions and data
  7. 17:17Detecting race conditions
  8. 22:11Avoiding race conditions
  9. 23:58Thread affinity in Android
  10. 25:33Containment challenges
  11. 28:55Mutual exclusion techniques
  12. 30:52Priority inversion solutions
  13. 34:40Mutexes and spin locks
  14. 36:51Message queues and binary
  15. 39:12Development guidelines
  16. 43:03Mutex code demonstration
  17. 48:53Cache and performance demo
~/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.