Akira Yokosawa (89): defer/rcuapi: Embed Listing E.3 in Table E.3 memorder: Tweak Figure 15.2 fixsvgfonts.sh: Convert sans-serif into 'DejaVu Sans' Makefile: Add 'DejaVu Sans' to nice-to-have fonts FAQ-BUILD: Update nice-to-have fonts for SVG figures docker/Dockerfile.fedora: Stay with Fedora 37 for the moment docker/Dockerfile: Use 'latest' as the default tag docker/Dockerfile: Add poppler-utils package Dockerfile: Make uid:gid = 0:0 the default appendix/questions: Address potential orphaned epigraph Update plot of RCU-test-ratio as of v6.4 Advance TeX Live requirement to 2019/Debian Get rid of 'twocolumn' option in \documentclass Prevent warning of duplicate page identifier in Ebook-size builds Use minipage environment in \ebresizeverb Silence font warning in sf (sans serif) builds run{first}latex.sh: Reorder checks of fatal error/warning messages runlatex.sh: Fix typo (exerpt -> excerpt) runlatex.sh: Amend message on out-of-date cleveref Don't run fixfonts for pstricks figures SMPdesign: Specify sans-serif font in pstricks figures bib: Use links to lore.kernel.org for LKML archive bib/TM: Add Draft Specification of Transactional Language Constructs for C++ Version 1.1 future/tm: Cite Draft Specification of Transactional Language Constructs for C++ version 1.1 bib: Use lore for LKML archive, take 2 bib/syncrefs: Salvage URL of PaulEMcKenney2011SeidnerInterview bib/hw: Update CSIRAC entries bib/hw: Salvage URL of MIPSvII-A-2016 bib/hw: Salvage URL of HewlettPackard05a from archive.org bib/hw: Declare URL of MichaelLyons05a as broken qqz.sty: Work around orphaned section heading Use \raggedbottom for ebook-size builds Update plot of RCU-test-ratio as of v6.5 Use margins/indents for twocolumn as defined in book class memorder: Shrink ifthen.pdf in -1c and -eb builds memorder: Shrink Figures 15.1 and 15.2 in 2c builds memorder: Fix word choice (data dependencies --> address dependencies) memorder: Add index markers for 'address/control/data dependency', take 1 memorder: Add index markers for 'address/control/data dependency', take 2 memorder: Add index marker for smp_read_barrier_depends() as classic API Fix definition of \indexh for flat index pages bib/swtools: Fix bib info of JonathanCorbet2019KCSAN Ignore error of unstable Inkscape Ignore emergency-save SVG files from Inkscape Make sure all PDF conversions are complete memorder: Update of ordering SSE non-temporal memory move instructions Prevent inkscape from interacting with desktop manager Update RCU-test-ratio plot as of v6.6 Load xcolor before loading newtxtext Makefile: Add rules to use rsvg-convert for SVG --> PDF conversion Makefile: Don't use rsvg-convert < 2.57 Makefile: Allow rsvg-convert 2.52 Makefile: Use rsvg-convert anyway if no inkscape is found cartoons: Retouch r-2014-Memory-barrier.svg FAQ-BUILD: List package for rsvg-convert in package lists docker: Add packages for rsvg-convert gitlab-ci.yml: Install librsvg instead of inkscape count_lim_atomic.c: Enclose complex loop with {} count: Update QQ 5.46 memorder: Tweak size of figures in Answer to QQz on x86 memory ordering CodeSamples/cpu/data/.../plots.sh: Fix typo in xlabel for fre plot CodeSamples/cpu/data: Use "smooth frequency" for plotting histogram CodeSamples/cpu: Tweak bin_width of coe.eps memorder: Retouch co-, fr-, and rf-hopes.svg Cope with behavior change in newtxtext v1.738 Plot RCU-test-ratio on-the-fly Update rcu-test.dat as of Linux kernel v6.8 docker: Add options to tar for normal-user mode behavior locking: Mark sentence-ending period as such defer: Use \tco{} in inline enum list CodeSamples/formal: Add data for Linux v6.9 to rcu-test.dat Don't remove $(SVG_GENERATED) in 'make clean' Work around conflict between arydshln and array v2.6 Use date as rollback options for glossaries related packages Revert "Work around conflict between arydshln and array v2.6" CodeSamples/formal: Update rcu-test.dat for v6.10 datastruct: Fix off-by-one error in CPU range whymb: Tweak width of Table C.1 for -eb builds whymb: Fix staccato of "loads" and typos of "incuring" bib: Replace citeseer{x} URLs bib/os: Update URLs of papers related to Synthesis OS bib/os: Add LWN's KHB article on Synthesis by Valerie (Feb 2008) defer: Cite Valerie's KHB article Use underline for url links in 2c builds' bibliography punctcheck.pl: Expand hint message on mid-line punctuation glossary: Fix warning from "make punctcheck" CodeSamples/formal/rcutorture.sh: Don't bother with stable tags CodeSamples/formal: Update rcu-test.dat for v6.11 CodeSamples/formal: Update rcu-test.dat for v6.12 Daniel Xu (1): seqlock: Use WRITE_ONCE() on sequence update Joel Fernandes (Google) (2): bib/memorymodel: Add Tsirkin2017 memorder: Add info on recent x86 implementation of smp_mb() Leonardo Bras (1): utilities/gitlab-ci: Fully update system before building Leonardo BrĂ¡s (1): CodeSamples/tree: Fix compiler warning on free Paul E. McKenney (160): utilities/torelease: Update git repo target perfbook-lt: Update editor affiliation utilities/toarxiv: Include .png figures formal: Clarify time RCU was added to the Linux kernel future: Add epigraph for summary questions/removelocking: Expand on sound bites questions/concurrentparallel: Add logical/physical perspective questions: Add section-level epigraphs Bibliography update defer/seqlock: Augment read_seqbegin() QQ defer/rcurelated: RCU voted into C++26 defer/hazptr: Hazard pointers voted into C++26 future/tm: Sequence locking as practical STM future/tm: TM-unfriendly operations and composability future/tm: Add sequence-locking case study future/tm: Sequence-locking case-study wordsmithing future/tm: Add STM contention-management section cpu/hwfreelunch: Move "3D Integration" section down cpu/hwfreelunch: Add vacuum-gap transistors and wordsmith cpu/overheads: Call out big atoms along with slow light count: Tie counter scalability back to laws of physics count: Wordsmith discussion of the two laws of physics origpub.sty: Ignore first parameter in favor of Cref treewide: Remove ignored first parameter of origpub macros memorder: Add QQ on rwlock intuitions debugging: Expand on making rare events less rare debugging: Add "Proactive Hunting Techniques" section debugging: Testing and static analysis as automated code review toolsoftrade: Make intelligence warning more inclusive count,seqlock: More feedback from Yariv Aridor bib/syncrefs.bib: Remove defunct Tom Dunlap interview count: Solicit hard evidence for/against hardware atomic_inc defer/rcuusage: Update QQ 9.69 to note refctr spatio-temporal sync defer/rcuusage: Remove redundant question from answer defer/rcuusage: Add arXiv work corroborating Figure 9.28 defer/rcu: Stop encouraging unmarked access to shared data defer/rcufundamental: Fix Figure 9.14 internal label defer/rcuusage: Temper RCU/rwlock corroboration memorder: Put the simple stuff first memorder: Add if-then memory-ordering diagram Bibliography update defer/rcuusage: Add citations for LF Mentorship presentations glossary: Add entries for address, control, and data dependencies memorder: Add QQ about non-load loads for address dependencies datastruct: Self-review, part 1 datastruct: Self-review, part 2 of 2 defer/rcuusage: Add Matt Kline GC/RCU analogy together/microopt: Move micro-optimization section concurrentparallel: More on logical concurrency and physical parallelism CodeSamples/cpu: Update script header comments defer: Add r1 and r2 values to RCU ordering diagrams cpu: Add scripts to overview system cache latencies Bibliography update debugging: Add Coccinelle to list of static analyzers debugging: Add Coccinelle as a static-analysis tool count: Make perf.sh adapt to the number of CPUs perfbook-lt: Set PDF metadata from LaTeX title and author howto: Clarify "copy-pasta" idiom toolsoftrade: Fix "thead' typo Codesamples/cpu: Capture lscpu and cpuinfo SMPdesign: Clarify "Inman" for QQ6.3 CodeSamples/cpu: Add benchmark for load/store communication CodeSamples/cpu: Add tscalibrate.c to calibrary get_timestamp() CodeSamples/cpu: Add temporalhist.sh to create histograms CodeSamples/cpu: Adjust copyright notices CodeSamples/cpu: Add coe write times CodeSamples/cpu: Add a coe.sh script CodeSamples/cpu: Add usage comment to temporalhist.sh CodeSamples/cpu: Add a perftemporal data-collection script CodeSamples/cpu: Add scripts to process coe values CodeSamples/cpu: Make perftemporal.sh collect coe-nvals data CodeSamples/cpu/data: Add kerneltest009.05.atn6 data CodeSamples/cpu: Make fre.sh measure properly CodeSamples/cpu: Document temporal.c "COE-write" output CodeSamples/cpu: Make perftemporal.sh calibrate the timestamps CodeSamples/cpu: Add tweaked kerneltest009.05.atn6 data CodeSamples/cpu: Take nthreads times the samples for coe memorder: Add quick quiz on x86 memory ordering CodeSamples/cpu: Update coe/fre/rfe data to that of clean script run CodeSamples/cpu: Remove old experimental coe/fre/rfe data memorder: Wordsmith quick quiz on x86 memory ordering CodeSamples/cpu: Finalize Akira's switch from .png to .eps memorder: Self-review January 30 memorder: Add closing paragraph to QQ6.31 memorder: Adjust QQ 16.31 to allow for not-quite monomodality memorder: Fix s/encourage/encouraged/ typo memorder: Switch fr variable to x to match co and rf Bibliography update locking: Cite Dice et al. for hierarchical lock howto: Add Rainer Grimm's C++ concurrency textbook rcuscale: Handle source trees having done allmodconfig builds whymb: Show "permissions" misses in C.1 whymb: Move Table C.1 to be near the corresponding text whymb: Further adjustments to Table C.1 whymb: Use (more) typical cache-miss terminology. whymb: Uniformly use n.m for step numbers in Table C.1 cpu/overview: Thermal warmup for benchmarking thermal throttling treewide: Warmup/warm-up grammar, glossary linkage debugging: Move from eqnarray environment to align SMPdesign: Note possible use of dummy element for dequeue appendix/whymb: Disambiguate "write miss" Merge /media/paulmck/365B-2A86/perfbook.2024.08.14-14.47.34.3bb89553869d.bundle cpu/overview: Add section on "Functional Unit Failings" cpu: Wordsmith intro treewide: Move to sixth edition of Hennessy and Patterson cpu: Wordsmith Section 3.1.1 ("Pipelined CPUs") cpu/overview: Wordsmith remainder of Section 3.1 ("Overview") cpu/overheads: Add simple-store diagram cpu/overview: Wordsmithing cartoons: Rework CPU Functional-Unit Mismatch cartoon cpu/overview: Add a QQ on functional units and scalability cpu/overview: Better spread figures cpu/SimpleWrite: Shrink to fit eb builds cpu/SimpleWrite: Remove construction line cpu/overheads: Update discussion to match diagram cpu/overheads: Remaining self-review changes cpu/overheads: Self-refiew of Section 3.2.3 ("Hardware Optimizations") cpu: Remaining self-review updates cpu/overheads: Grammar nit: s/but act/act/ whymb: Start with read/write miss categorization glossary: Fix typo: s/attmepted/attempted/ Bibliography update defer/hazptr: Cite Daniel Anderson's hazptr-based C++ shared lock bib/syncrefs.bib: Fix capitalization of DanielAnderson2023HazptrSharedPtr cpu: Add diagram of recent 3DI component Bibliography update cpu/hwfreelunch: Add in-chip 3DI citations CodeSamples/count: Fix reduce.sh to pull from correct columns CodeSamples/count/data: Add amd-milan data and plots Merge /home/paulmck/Downloads/perfbook.2024.09.23a.bundle CodeSamples/count: Update amd-milan.2024.09.22a plots FAQ.txt: Add Russian translation to the list api-pthreads/QAfter: Add program to test clock overhead and granularity api-pthreads/QAfter: Add timecost to Makefile appendix/questions/time: Add QQ about slow timestamp-register reads count: Add QQ to eventually consistent algorithm about battery lifetime api-pthreads/QAfter: Fix timecost.c and add other clocks api-pthreads/QAfter: Add x86_64 rdtsc to time sources tested api-pthreads/QAfter: Make x86_64 rdtsc use median of short tests api-pthreads/QAfter: Make standard clocks use median of short tests api-pthreads/QAfter: Move timespec.h to include directory api-pthreads/include: Add a timespecs2double() function api-pthreads/QAfter: Convert timecost.c to clock_gettime() api-pthreads/QAfter: Use NSUBSAMPLES macro api-pthreads/QAfter: Add proposed CLOCK_NON_MONOTONIC api-pthreads/QAfter: Move timecost macros to variables api-pthreads/QAfter: Move timecost NSAMPLES to variable api-pthreads/QAfter: Add timecost command-line arguments api-pthreads/QAfter: Add comments to timecost api-pthreads/QAfter: Fix timeskew.c typo s/taek/take/ future/htm: Add QQ on inevitability and the laws of physics Bibliography update count: Add COST citation to QQ5.10 answer defer/whichtochoose: Add reclaim immediacy defer/whichtochoose: Qualify Wired Tiger use of hazard pointers defer/whichtochoose: Adjust reclaim immediacy wording defer/whichtochoose: Make immediacy text match table future/cpu: Add missing "and" in list of accelerator uses howto: Add ``Video Resources'' section debugging: Clarify answer to QQ11.16 SeongJae Park (28): advsync/rt: Update path to kernel-per-CPU-kthreads document advsync/rt: Mention the tree of Documentation/ directory memorder: Fix typos: s/,/./ memorder/memorder: Add a missing space between column name and 'column' memorder: Add missing unbreakable spaces between 'values', 'and', and numbers memorder: Remove an empty fcvref block memorder: Remove braces for single line if-else blocks memorder: Consistently use \co{} instead of {\tt } for code memorder: Consistently use '\co{}' for 'herd' memorder: Remove a redundant sentence for memory barrier strength memorder: Make clear the scope of READ_ONCE()/WRITE_ONCE() heavy uses future/tm: Remove unnecessary spaces future/tm: Add introduction of TM-availabe options for locking future/tm: Consistently add dash between reader and writer of reader-writer lock future/htm: Remove unnecessary extra 'and' future/htm: Use \co{} in favor of $$ future/formalregress: Use \co{} for spin future/formalregress: Use seL4 consistently appendix/questions/after: Use \qco{} for quoting code appendix/questions/after: Use \co{} appendix/toyrcu: Add missing parentheses appendix/toyrcu: Use \co{} for spin tool appendix/toyrcu: Add missing parentheses for rcu_quiescent_state() appendix/whymb: Use \qco{} for quoted code appendix/whymb: Use \co{} for code appendix/whymb: Add '()' for functions appendix/whymb: Add missing unbreakable spaces FAQ: Update Korean translation progress Zhouyi Zhou (4): bib/TM: Make Le:2015:TMS:3266491.3266500 trade marks upper case howto: make 'git archive' in answer to QQ1.3 explicit cpu: make Quick Quiz 3.6 more explicit toolsoftrade: fix a typo: manpages should be man pages forouhar (1): SMPdesign/SMPdesign.tex: Fixed a minor misspelling .gitignore | 2 + CodeSamples/api-pthreads/QAfter/.gitignore | 1 + CodeSamples/api-pthreads/QAfter/Makefile | 5 +- CodeSamples/api-pthreads/QAfter/timecost.c | 299 + CodeSamples/api-pthreads/QAfter/timeskew.c | 47 +- CodeSamples/api-pthreads/include/timespec.h | 80 + CodeSamples/count/count_lim_atomic.c | 5 +- .../count/data/amd-milan.2024.09.22a/atomic.eps | 1069 + .../count_atomic:r.amd-milan.2024.09.22a.dat | 42 + .../count_atomic:r.amd-milan.2024.09.22a.raw | 42 + .../count_atomic:u.amd-milan.2024.09.22a.dat | 42 + .../count_atomic:u.amd-milan.2024.09.22a.raw | 42 + .../data/amd-milan.2024.09.22a/count_end-r.eps | 1269 + .../data/amd-milan.2024.09.22a/count_end-r.png | Bin 0 -> 3373 bytes .../data/amd-milan.2024.09.22a/count_end-u.eps | 1257 + .../data/amd-milan.2024.09.22a/count_end-u.png | Bin 0 -> 3408 bytes .../count_end:r.amd-milan.2024.09.22a.dat | 42 + .../count_end:r.amd-milan.2024.09.22a.raw | 42 + .../count_end:u.amd-milan.2024.09.22a.dat | 42 + .../count_end:u.amd-milan.2024.09.22a.raw | 42 + .../count_end_rcu:r.amd-milan.2024.09.22a.dat | 42 + .../count_end_rcu:r.amd-milan.2024.09.22a.raw | 42 + .../count_end_rcu:u.amd-milan.2024.09.22a.dat | 42 + .../count_end_rcu:u.amd-milan.2024.09.22a.raw | 42 + .../count_lim:r.amd-milan.2024.09.22a.dat | 42 + .../count_lim:r.amd-milan.2024.09.22a.raw | 42 + .../count_lim:u.amd-milan.2024.09.22a.dat | 42 + .../count_lim:u.amd-milan.2024.09.22a.raw | 42 + .../count_lim_app:r.amd-milan.2024.09.22a.dat | 42 + .../count_lim_app:r.amd-milan.2024.09.22a.raw | 42 + .../count_lim_app:u.amd-milan.2024.09.22a.dat | 42 + .../count_lim_app:u.amd-milan.2024.09.22a.raw | 42 + .../count_lim_atomic:r.amd-milan.2024.09.22a.dat | 42 + .../count_lim_atomic:r.amd-milan.2024.09.22a.raw | 42 + .../count_lim_atomic:u.amd-milan.2024.09.22a.dat | 42 + .../count_lim_atomic:u.amd-milan.2024.09.22a.raw | 42 + .../count_lim_sig:r.amd-milan.2024.09.22a.dat | 42 + .../count_lim_sig:r.amd-milan.2024.09.22a.raw | 42 + .../count_lim_sig:u.amd-milan.2024.09.22a.dat | 42 + .../count_lim_sig:u.amd-milan.2024.09.22a.raw | 42 + .../count_limd:r.amd-milan.2024.09.22a.dat | 42 + .../count_limd:r.amd-milan.2024.09.22a.raw | 42 + .../count_limd:u.amd-milan.2024.09.22a.dat | 42 + .../count_limd:u.amd-milan.2024.09.22a.raw | 42 + .../count_nonatomic:r.amd-milan.2024.09.22a.dat | 42 + .../count_nonatomic:r.amd-milan.2024.09.22a.raw | 42 + .../count_nonatomic:u.amd-milan.2024.09.22a.dat | 42 + .../count_nonatomic:u.amd-milan.2024.09.22a.raw | 42 + .../count_stat:r.amd-milan.2024.09.22a.dat | 42 + .../count_stat:r.amd-milan.2024.09.22a.raw | 42 + .../count_stat:u.amd-milan.2024.09.22a.dat | 42 + .../count_stat:u.amd-milan.2024.09.22a.raw | 42 + .../count_stat_atomic:r.amd-milan.2024.09.22a.dat | 42 + .../count_stat_atomic:r.amd-milan.2024.09.22a.raw | 42 + .../count_stat_atomic:u.amd-milan.2024.09.22a.dat | 42 + .../count_stat_atomic:u.amd-milan.2024.09.22a.raw | 42 + .../count_stat_eventual-r.eps | 1257 + .../count_stat_eventual-r.png | Bin 0 -> 3504 bytes .../count_stat_eventual-u.eps | 1233 + .../count_stat_eventual-u.png | Bin 0 -> 2909 bytes ...count_stat_eventual:r.amd-milan.2024.09.22a.dat | 42 + ...count_stat_eventual:r.amd-milan.2024.09.22a.raw | 42 + ...count_stat_eventual:u.amd-milan.2024.09.22a.dat | 42 + ...count_stat_eventual:u.amd-milan.2024.09.22a.raw | 42 + .../amd-milan.2024.09.22a/cpuinfo.2024.09.22a.out | 4648 + .../count/data/amd-milan.2024.09.22a/perf.sh.err | 0 .../count/data/amd-milan.2024.09.22a/perf.sh.out | 91950 +++++++++++++++++++ .../count/data/amd-milan.2024.09.22a/plots.sh | 175 + CodeSamples/count/perf.sh | 30 +- CodeSamples/count/reduce.sh | 6 +- CodeSamples/cpu/.gitignore | 2 + CodeSamples/cpu/Makefile | 8 +- CodeSamples/cpu/cachetorture.sh | 4 +- CodeSamples/cpu/coe.sh | 64 + CodeSamples/cpu/coe2dot.sh | 55 + CodeSamples/cpu/coe2first.sh | 53 + CodeSamples/cpu/coereduce.sh | 68 + CodeSamples/cpu/data/coe-nvals.eps | 2505 + CodeSamples/cpu/data/coe.eps | 3555 + CodeSamples/cpu/data/fre.eps | 2274 + .../coe-nvals.dat | 361 + .../coe-nvals.eps | 2505 + .../coe-nvals.out | 601 + .../coe-nvals.png | Bin 0 -> 6064 bytes .../coe.dat | 22400 +++++ .../coe.eps | 3555 + .../coe.out.tar.xz | Bin 0 -> 33597312 bytes .../coe.png | Bin 0 -> 8469 bytes .../expand.pl | 42 + .../fre.dat | 896 + .../fre.eps | 2274 + .../fre.out | 79000 ++++++++++++++++ .../fre.png | Bin 0 -> 6744 bytes .../lscpu.out | 38 + .../plots.sh | 177 + .../rfe.dat | 832 + .../rfe.eps} | 3164 +- .../rfe.out | 81000 ++++++++++++++++ .../rfe.png | Bin 0 -> 6731 bytes .../tscalibrate.out | 1 + CodeSamples/cpu/data/rfe.eps | 2339 + CodeSamples/cpu/fre.sh | 36 + CodeSamples/cpu/overview.sh | 61 + CodeSamples/cpu/perftemporal.sh | 85 + CodeSamples/cpu/plots.sh | 75 + CodeSamples/cpu/reduce.sh | 3 + CodeSamples/cpu/rfe.sh | 41 + CodeSamples/cpu/temporal.c | 338 + CodeSamples/cpu/temporalhist.sh | 48 + CodeSamples/cpu/tscalibrate.c | 167 + CodeSamples/datastruct/Issaquah/tree.c | 12 +- CodeSamples/defer/rcuscale.sh | 4 +- CodeSamples/defer/seqlock.h | 4 +- CodeSamples/formal/data/.gitignore | 1 + CodeSamples/formal/data/plot.sh | 14 +- CodeSamples/formal/data/rcu-test.dat | 11 +- CodeSamples/formal/rcutorture.sh | 10 +- FAQ-BUILD.txt | 98 +- FAQ.txt | 11 +- Makefile | 92 +- SMPdesign/DiningPhilosopher4part-b.tex | 3 + SMPdesign/DiningPhilosopher5.tex | 3 + SMPdesign/DiningPhilosopher5PEM.tex | 3 + SMPdesign/DiningPhilosopher5TB.tex | 3 + SMPdesign/SMPdesign.tex | 8 +- SMPdesign/beyond.tex | 2 +- SMPdesign/partexercises.tex | 16 +- advsync/rt.tex | 21 +- appendix/questions/after.tex | 16 +- appendix/questions/buggy.tex | 3 + appendix/questions/concurrentparallel.tex | 52 +- appendix/questions/ordering.tex | 3 + appendix/questions/parallelfaster.tex | 3 + appendix/questions/removelocking.tex | 7 +- appendix/questions/time.tex | 40 +- appendix/styleguide/styleguide.tex | 34 +- appendix/toyrcu/toyrcu.tex | 10 +- appendix/whymb/whymemorybarriers.tex | 359 +- bib/RCU.bib | 214 +- bib/TM.bib | 14 +- bib/WFS.bib | 4 +- bib/hw.bib | 86 +- bib/memorymodel.bib | 83 +- bib/os.bib | 72 +- bib/perfmeas.bib | 12 + bib/realtime.bib | 6 +- bib/refs.bib | 10 +- bib/swtools.bib | 170 +- bib/syncrefs.bib | 117 +- cartoons/CPU-track-meet-functional-units.svg | 1215 + cartoons/r-2023-Memory-barrier.svg | 1130 + count/count.tex | 82 +- cpu/High_Bandwidth_Memory_schematic.png | Bin 0 -> 104002 bytes cpu/SimpleWrite.svg | 1796 + cpu/cpu.tex | 4 +- cpu/hwfreelunch.tex | 140 +- cpu/overheads.tex | 138 +- cpu/overview.tex | 176 +- cpu/swdesign.tex | 3 + datastruct/datastruct.tex | 379 +- debugging/debugging.tex | 124 +- defer/RCUGPorderingSummary.svg | 132 +- defer/RCUGuaranteeFwd.svg | 373 +- defer/RCUGuaranteeMid.svg | 431 +- defer/RCUGuaranteeRev.svg | 472 +- defer/defer.tex | 3 +- defer/hazptr.tex | 6 + defer/rcuapi.tex | 60 +- defer/rcufundamental.tex | 2 +- defer/rcurelated.tex | 7 +- defer/rcuusage.tex | 25 +- defer/seqlock.tex | 52 +- defer/whichtochoose.tex | 24 +- docker/Dockerfile | 13 +- docker/Dockerfile.bionic | 57 - docker/Dockerfile.fedora | 15 +- easy/easy.tex | 2 +- formal/axiomatic.tex | 2 +- formal/formal.tex | 6 +- future/cpu.tex | 12 +- future/formalregress.tex | 16 +- future/future.tex | 4 + future/htm.tex | 45 +- future/tm.tex | 242 +- glossary.tex | 58 +- howto/howto.tex | 87 +- indexsee.tex | 3 + intro/intro.tex | 2 +- locking/locking.tex | 11 +- memorder/Intel_Core2_arch-simplified.svg | 46 +- memorder/co-hopes.svg | 607 + memorder/fr-hopes.svg | 618 + memorder/fr.svg | 8 +- memorder/ifthen.svg | 655 + memorder/memorder.tex | 10818 +-- memorder/rf-hopes.svg | 632 + origpub.sty | 26 +- perfbook-lt.tex | 54 +- qqz.sty | 3 +- summary.tex | 2 +- together/applyrcu.tex | 2 +- together/microopt.tex | 262 + together/together.tex | 10 +- toolsoftrade/toolsoftrade.tex | 17 +- utilities/fixsvgfonts-urwps.sh | 2 +- utilities/fixsvgfonts.sh | 2 +- utilities/gitlab-ci.yml | 4 +- utilities/punctcheck.pl | 2 +- utilities/runfirstlatex.sh | 34 +- utilities/runlatex.sh | 28 +- utilities/toarxiv.sh | 2 +- utilities/torelease.sh | 2 +- 212 files changed, 326713 insertions(+), 10079 deletions(-) create mode 100644 CodeSamples/api-pthreads/QAfter/timecost.c create mode 100644 CodeSamples/api-pthreads/include/timespec.h create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/atomic.eps create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_atomic:r.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_atomic:r.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_atomic:u.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_atomic:u.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_end-r.eps create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_end-r.png create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_end-u.eps create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_end-u.png create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_end:r.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_end:r.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_end:u.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_end:u.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_end_rcu:r.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_end_rcu:r.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_end_rcu:u.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_end_rcu:u.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_lim:r.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_lim:r.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_lim:u.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_lim:u.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_lim_app:r.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_lim_app:r.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_lim_app:u.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_lim_app:u.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_lim_atomic:r.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_lim_atomic:r.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_lim_atomic:u.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_lim_atomic:u.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_lim_sig:r.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_lim_sig:r.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_lim_sig:u.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_lim_sig:u.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_limd:r.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_limd:r.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_limd:u.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_limd:u.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_nonatomic:r.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_nonatomic:r.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_nonatomic:u.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_nonatomic:u.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_stat:r.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_stat:r.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_stat:u.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_stat:u.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_stat_atomic:r.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_stat_atomic:r.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_stat_atomic:u.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_stat_atomic:u.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_stat_eventual-r.eps create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_stat_eventual-r.png create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_stat_eventual-u.eps create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_stat_eventual-u.png create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_stat_eventual:r.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_stat_eventual:r.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_stat_eventual:u.amd-milan.2024.09.22a.dat create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/count_stat_eventual:u.amd-milan.2024.09.22a.raw create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/cpuinfo.2024.09.22a.out create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/perf.sh.err create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/perf.sh.out create mode 100644 CodeSamples/count/data/amd-milan.2024.09.22a/plots.sh create mode 100755 CodeSamples/cpu/coe.sh create mode 100755 CodeSamples/cpu/coe2dot.sh create mode 100644 CodeSamples/cpu/coe2first.sh create mode 100755 CodeSamples/cpu/coereduce.sh create mode 100644 CodeSamples/cpu/data/coe-nvals.eps create mode 100644 CodeSamples/cpu/data/coe.eps create mode 100644 CodeSamples/cpu/data/fre.eps create mode 100644 CodeSamples/cpu/data/kerneltest054.05.atn6.2024.01.22-12.28.01/coe-nvals.dat create mode 100644 CodeSamples/cpu/data/kerneltest054.05.atn6.2024.01.22-12.28.01/coe-nvals.eps create mode 100644 CodeSamples/cpu/data/kerneltest054.05.atn6.2024.01.22-12.28.01/coe-nvals.out create mode 100644 CodeSamples/cpu/data/kerneltest054.05.atn6.2024.01.22-12.28.01/coe-nvals.png create mode 100644 CodeSamples/cpu/data/kerneltest054.05.atn6.2024.01.22-12.28.01/coe.dat create mode 100644 CodeSamples/cpu/data/kerneltest054.05.atn6.2024.01.22-12.28.01/coe.eps create mode 100644 CodeSamples/cpu/data/kerneltest054.05.atn6.2024.01.22-12.28.01/coe.out.tar.xz create mode 100644 CodeSamples/cpu/data/kerneltest054.05.atn6.2024.01.22-12.28.01/coe.png create mode 100755 CodeSamples/cpu/data/kerneltest054.05.atn6.2024.01.22-12.28.01/expand.pl create mode 100644 CodeSamples/cpu/data/kerneltest054.05.atn6.2024.01.22-12.28.01/fre.dat create mode 100644 CodeSamples/cpu/data/kerneltest054.05.atn6.2024.01.22-12.28.01/fre.eps create mode 100644 CodeSamples/cpu/data/kerneltest054.05.atn6.2024.01.22-12.28.01/fre.out create mode 100644 CodeSamples/cpu/data/kerneltest054.05.atn6.2024.01.22-12.28.01/fre.png create mode 100644 CodeSamples/cpu/data/kerneltest054.05.atn6.2024.01.22-12.28.01/lscpu.out create mode 100644 CodeSamples/cpu/data/kerneltest054.05.atn6.2024.01.22-12.28.01/plots.sh create mode 100644 CodeSamples/cpu/data/kerneltest054.05.atn6.2024.01.22-12.28.01/rfe.dat rename CodeSamples/{formal/data/RCU-test-ratio.eps => cpu/data/kerneltest054.05.atn6.2024.01.22-12.28.01/rfe.eps} (74%) create mode 100644 CodeSamples/cpu/data/kerneltest054.05.atn6.2024.01.22-12.28.01/rfe.out create mode 100644 CodeSamples/cpu/data/kerneltest054.05.atn6.2024.01.22-12.28.01/rfe.png create mode 100644 CodeSamples/cpu/data/kerneltest054.05.atn6.2024.01.22-12.28.01/tscalibrate.out create mode 100644 CodeSamples/cpu/data/rfe.eps create mode 100755 CodeSamples/cpu/fre.sh create mode 100644 CodeSamples/cpu/overview.sh create mode 100644 CodeSamples/cpu/perftemporal.sh create mode 100644 CodeSamples/cpu/plots.sh create mode 100755 CodeSamples/cpu/rfe.sh create mode 100644 CodeSamples/cpu/temporal.c create mode 100644 CodeSamples/cpu/temporalhist.sh create mode 100644 CodeSamples/cpu/tscalibrate.c create mode 100644 cartoons/CPU-track-meet-functional-units.svg create mode 100644 cartoons/r-2023-Memory-barrier.svg create mode 100644 cpu/High_Bandwidth_Memory_schematic.png create mode 100644 cpu/SimpleWrite.svg delete mode 100644 docker/Dockerfile.bionic create mode 100644 memorder/co-hopes.svg create mode 100644 memorder/fr-hopes.svg create mode 100644 memorder/ifthen.svg create mode 100644 memorder/rf-hopes.svg create mode 100644 together/microopt.tex