~/talk

Read, Copy, Update, then what? RCU for non-kernel programmers

Talkat CppCon 2017 · 2017-09-24..09-29· [concurrency]
links:none on file
slides:none on file

RCU implements a one-writer RCU publishing protocol: readers do atomic acquire-loads and writers prepare copies then atomically swap the root, deferring frees into generation-tagged garbage queues and calling synchronize-RCU to wait for exiting readers. A user-space implementation with per-generation refcounts and per-thread counters shows RCU stays within a few percent of uncontended reads (experiment: about one write per 100 reads), while POSIX read–write locks and atomic-shared-pointer lists are measurably slower.

AI-written summary · about

  1. 0:00Introduction
  2. 0:37Why RCU
  3. 5:46Not a fair comparison
  4. 9:15Atomic Writes
  5. 12:58CopyOnWrite
  6. 15:51OneThread
  7. 25:18What is an RCU
  8. 27:51Writers
  9. 29:30Readers
  10. 31:59Concept
  11. 34:53Function names
  12. 35:39Universal RCU
  13. 38:34Userspace
  14. 39:32Generation
  15. 43:23Implementation
  16. 44:53Sequential Consistency
  17. 46:10Synchronized RC
  18. 47:43Minimize ReadLock
  19. 49:24One possible solution
  20. 52:30Deferred deferred deletion
  21. 53:15Updates vs cleanup
  22. 54:48Performance
  23. 55:55Stress Test
  24. 56:36ForceReclaim
  25. 57:10Reuse
  26. 58:22When
  27. 59:17Hazard pointers
~/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.