Akira Yokosawa (30): CodeSamples/formal: Update rcu-test.dat for v6.18 CodeSamples/formal/herd/Makefile: Add KLITMUS7_EXTRAOPTS variable Makefile: Let ghostscript access under /tmp toyrcu: Replace \co{} with \cref{} toyrcu: Mark inline enumerate list as such CodeSamples/formal: Update rcu-test.dat for v6.19 formal: rcu-test-ratio: Adjust legends' position Give page number counts room on TOC pages in -1c builds defer/rcuapi: Tweak column widths for long APIs Adjust page header/footer widths for tweaked textwidths Define pagestyle (of titlesec) for section-less appendix intro/coarsen.svg: Tweak size of squares and use nuanced colors Extend buggy fvextra version range adjustindexformat.pl: Cope with recent hyperref change cpu/overview: Tweak index markings runlatex.sh: Detect errors in makeindex log files Update rcu-test-ratio for Linux v7.0 Apply hotfix for cleveref against recent LaTeX2e Cope with iconv without ISO~8859-1 support precheck-tentative.sh: Detect premature versions of "lineno" and "microtype" runlatex.sh: Add WARNEXIT variable to make "LaTeX Warning:" in .log be ignored precheck-tentative.sh: Fail early with suggestions for Fedora 44 precheck.sh: Add check of missing LaTeX packages for Fedora 44 FAQ-BUILD: Add needed packages for Fedora 44 memorder: Fix typo ("`" --> " ") runlatex.sh: "iconv -l" rather than "iconv --list" precheck-tentative.sh: Allow "v4.4a" style revision of lineno.sty Get rid of "arydshln" Stop using "cleveref" with LaTeX2e <2024-11-01> and later memorder: Fix use of \cpagerefrange{}{} Kunwu Chan (15): defer/hazptr: Fix line number reference in Section 9.3 Hazard Pointers defer: Fix typos across Chapter 9 defer/rcuusage: Fix spin_lock arg and write-side term defer/rcuapi: Fix srcu_down_read() release entry defer/seqlock: Fix read-side smp_mb wording defer/whichtochoose: Fix typos and grammar errors defer/whichtochoose: Fix incomplete RCU object reference defer: Fix grammar typos in Chapter 9 text defer/rcufundamental: Clarify rcu_dereference() ordering semantics defer: Fix grammar issues across Chapter 9 text memorder: Refine technical prose for clarity and precision memorder: Reconcile W+RWC propagation path with litmus dataflow memorder: Reconcile Figure 15.15 notation with W+RWC z-flow semantics memorder: Realign OMCA visibility attribution with litmus causality precheck-tentative.sh: Make array.sty probing fail-fast and deterministic Leonardo Bras (1): SMPdesign: Fix a typo Paul E. McKenney (76): utilities/toarxiv.sh: Add new files for arXiv Bibilography update howto: Add Pekka Enberg's "Latency" textbook howto: Fix punctcheck issue in Pekka's book title Codesamples/defer: Add a singly linked-list route algorithm CodeSamples/defer/route_cacm: Remove "re_" prefix from fields CodeSamples/defer/route_cacm: Rework route_clear() CodeSamples/defer/route_cacm: Use trivial RCU implementation CodeSamples/defer/route_cacm: Protect route_list accesses CodeSamples/defer/route_cacm_c11: Use atomic pointers CodeSamples/defer/route_cacm_c11: Convert smp_mb() to C11 CodeSamples/defer/route_cacm_c11: Convert from GCC __thread to C11 CodeSamples/defer/route_cacm_c11: Convert ->rcu_nesting to _Atomic CodeSamples/defer/route_cacm_c11: Convert ->rcu_here to _Atomic CodeSamples/defer/route_cacm_c11: Convert ->freed to _Atomic CodeSamples/defer/route_cacm_c11: Switch from spinlock_t to mtx_t CodeSamples/defer/route_cacm_c11: Make nthreads be _Atomic formal: Add significant changes from v6.19 memorder: Convert Figure 15.15 variable-x commentary to footnote CodeSamples/defer/route_cacm_c11: Check and fix C11 issues CodeSamples/defer/route_cacm_c11: C11 fixes cpu: Add speed lines to untolled CPU in Figure 3.10 formal/dyntickrcu: Add 2026 alternative to QQ 12.9 cpu/overview: Add an "Interrupts" section cartoons: Add r-2026-CPU-track-meet-interrupt.svg Bibliography update together/applyrcu: RCU combined with hazard pointers advsync/rt: Add QQ on deterministic RCU grace-period waits appendix/styleguide: Add list of "api" commands together/applyrcu: Add "Detecting Broken Readers" patchup together/applyrcu: Convert Listing 13.14 to VerbatimL together/applyrcu: Add "Restraining Reclamation" section defer/rcuapi: Fix typo omitting _FULL suffix together/applyrcu: Add "Proactive Reclamation" section together/applyrcu: Self-review of "Polling Patchups" section together/applyrcu: Add hazard-pointer section to LDA2 cpu/hwfreelunch: Add single-threaded paragraph to "HW Free Lunch" section defer/rcu: April 9 2026 self-review defer/rcuapi: Add "why no rcu_write_lock()" QQ cpu/hwfreelunch: Expand on vacuum-channel transistors CodeSamples/SMPdesign/maze: Add makehumanmaze.sh script CodeSamples/SMPdesign/maze: Remove mazeq.sh together/applyrcu: Add citations for "Detecting Broken Readers" CodeSamples/defer/route_cacm_c11: Simplify per review feedback defer/rcuintro: Add recent experience with time-based RCU together/applyrcu: Fix citation by adding unbreakable space appendix/toyrcu: Add "Fixed-Space RCU" section cpu/overview: Add Amadio citation for CPU details together/applyrcu: Give credit for polled pointer-leak detection FAQ: Update with Chinese second edition and drive-by updates formal/formal.tex: Update for Linux kernel v7.0 Bibliography update defer/rcuapi.tex: Add "RCU in Userspace Applications?" memorder: Fix s/Linux-kernel/Linux kernel/ typo memorder: Tie memory-barrier pairing to Figure 15.3 memorder: Add "Asymmetric Memory Barriers" section memorder: Add an "SRCU" section to "Higher-Level Primitives" locking: Explain why C++ .lock() doesn't do address order debugging: Add formal-verification forward reference defer/rcufundamental: Clarify Section 9.5.2.2 discussion memorder/memorder: Clarify Section 15.3.7.2 discussion defer/rcuintro: Add specific examples to Section 9.5.1.1 cpu/hwfreelunch: Clarify Section 3.3 discussion count: Clarify Section 5.1 laws-of-physics discussion CodeSamples/defer: Modify route_cacm_c11.c for fresh data Merge /media/paulmck/365B-2A86/perfbook.2026.06.18-13.36.19.35b2cb996eaa.bundle CodeSamples/defer: Modify route_cacm.c for fresh data CodeSamples/defer: Fix route_cacm_c11.c comment-only "else" together/applyrcu: Add a "Fresh and Consistent Data" section defer: Random self-review improvements together/hazptr: Add "Hazard-Pointer Conversion Guide" together/applyrcu: Add "RCU Conversion Guide" defer/hazptr: Add further hazard-pointer standardization defer/whichtochoose: RCU/hazptr refinements and combinations defer/hazptr: Add diagram illustrating hazard pointers defer/updates: Add note that Tiny RCU has super-fast updates npc1054657282 (1): cpu/overheads.tex: Fix terminology typo in L3 cache description CodeSamples/SMPdesign/maze/README | 5 +- CodeSamples/SMPdesign/maze/makehumanmaze.sh | 39 + CodeSamples/SMPdesign/maze/mazeq.sh | 37 - CodeSamples/defer/.gitignore | 4 + CodeSamples/defer/Makefile | 24 + CodeSamples/defer/hazptr.h | 2 +- CodeSamples/defer/route_cacm.c | 243 ++++ CodeSamples/defer/route_cacm_c11.c | 266 ++++ CodeSamples/formal/data/plot.sh | 3 +- CodeSamples/formal/data/rcu-test.dat | 3 + .../formal/herd/C-SRCU-readers-no-nest.litmus | 30 + CodeSamples/formal/herd/C-SRCU-xdomain.litmus | 27 + CodeSamples/formal/herd/Makefile | 3 +- FAQ-BUILD.txt | 2 + FAQ.txt | 26 +- Makefile | 6 +- SMPdesign/SMPdesign.tex | 2 +- a2ping-rule.mk | 40 +- advsync/rt.tex | 32 + appendix/styleguide/styleguide.tex | 378 +----- appendix/toyrcu/toyrcu.tex | 56 +- appendix/whymb/whymemorybarriers.tex | 2 +- bib/RCU.bib | 47 + bib/hw.bib | 17 +- bib/memorymodel.bib | 18 + bib/swtools.bib | 17 + bib/syncrefs.bib | 17 + ...r-2014-CPU-track-meet-cache-miss-toll-booth.svg | 114 +- cartoons/r-2026-CPU-track-meet-interrupt.svg | 1391 +++++++++++++++++++ count/count.tex | 22 +- cpu/cpu.tex | 2 +- cpu/hwfreelunch.tex | 112 +- cpu/overheads.tex | 6 +- cpu/overview.tex | 57 +- datastruct/datastruct.tex | 19 +- debugging/debugging.tex | 6 +- defer/defer.tex | 2 +- defer/hazptr.svg | 501 +++++++ defer/hazptr.tex | 49 +- defer/rcu.tex | 16 +- defer/rcuapi.tex | 171 ++- defer/rcufundamental.tex | 100 +- defer/rcuintro.tex | 111 +- defer/rcurelated.tex | 13 +- defer/rcuusage.tex | 39 +- defer/seqlock.tex | 2 +- defer/updates.tex | 6 +- defer/whichtochoose.tex | 62 +- epstopdf-rule.mk | 48 +- formal/dyntickrcu.tex | 2 + formal/formal.tex | 4 + glossary.tex | 23 +- howto/howto.tex | 8 +- indexsee.tex | 1 + intro/coarsen.svg | 1403 +++++++++----------- intro/intro.tex | 2 +- locking/locking.tex | 29 + memorder/SystemArchSB-amb.svg | 398 ++++++ memorder/SystemArchSB-slmb.svg | 353 +++++ memorder/SystemArchSB-smb.svg | 377 ++++++ memorder/SystemArchSB.svg | 139 +- memorder/memorder.tex | 324 ++++- perfbook-lt.tex | 134 +- todo.txt | 8 + together/PolledRCUcache.svg | 504 +++++++ together/applyrcu.tex | 439 +++++- together/hazptr.tex | 24 + utilities/adjustindexformat.pl | 6 + utilities/autodate.sh | 2 +- utilities/precheck-tentative.sh | 115 ++ utilities/precheck.sh | 40 +- utilities/runfirstlatex.sh | 15 +- utilities/runlatex.sh | 32 +- utilities/toarxiv.sh | 5 +- 74 files changed, 6973 insertions(+), 1609 deletions(-) create mode 100755 CodeSamples/SMPdesign/maze/makehumanmaze.sh delete mode 100644 CodeSamples/SMPdesign/maze/mazeq.sh create mode 100644 CodeSamples/defer/route_cacm.c create mode 100644 CodeSamples/defer/route_cacm_c11.c create mode 100644 CodeSamples/formal/herd/C-SRCU-readers-no-nest.litmus create mode 100644 CodeSamples/formal/herd/C-SRCU-xdomain.litmus create mode 100644 cartoons/r-2026-CPU-track-meet-interrupt.svg create mode 100644 defer/hazptr.svg create mode 100644 memorder/SystemArchSB-amb.svg create mode 100644 memorder/SystemArchSB-slmb.svg create mode 100644 memorder/SystemArchSB-smb.svg create mode 100644 together/PolledRCUcache.svg create mode 100755 utilities/precheck-tentative.sh