~/talk

Binder: fixing contention in buffer allocations

Talkat Linux Plumbers Conference 2023 · 2023-11-13..11-15· [android]
links:none on file
slides:none on file

Android binder suffers from alloc-mutex contention when many clients fault pages into a single mmaped service VMA, causing background tasks to hold the mutex while sleeping and high-priority threads to block. The fix is to split buffer setup from page insertion, preallocate pages outside the mutex, and move page faults out of the alloc path so the mutex becomes a spinlock. A synthetic worst-case test shows up to 200% improvement. Followups propose per-binder-page synchronization, RCU/maple tree structures and lockless fault-in retries.

AI-written summary · about

  1. 0:00Introduction to Binder issue
  2. 1:29Binder memory mapping and contention
  3. 4:20Mutex contention problem explained
  4. 7:11Solution and performance improvements
  5. 9:00Results and test workload
  6. 10:04Q&A on lock contention
~/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.