Akira Yokosawa (145): CodeSamples/formal/herd: Remove dependency to memory model in cross-klitmus future: Update Locking and HTM comparison tables future: Add merged table of locking & HTM comparison CodeSamples/formal/herd: Import absperf scripts of Paul's litmus repo CodeSamples/formal/herd: Make use of absperf scripts in make targets CodeSamples/formal/herd: Tame 'sort' command by setting LC_ALL count: Get rid of ACCESS_ONCE() in code snippet count: Get rid of ACCESS_ONCE() in text Update bibliography toolsoftrade: Add quick quiz on ACCESS_ONCE() Add fixsvgfonts.sh Fix pattern order in fixfonts.sh future: Fix embedded font name in .eps files Makefile: Support URW++ v2 font family names bib/QC: Fix url of 'NobelPrizeChemistry2017' CodeSamples/formal/herd: Remove dependency on linux-kernel-hardware.cat future/QC: Improve layout of Table 17.5 by using subfloat future/QC: Remove alternate-row coloring in Table 17.5 future/QC: Add narrow space in front of percent symbol future/QC: Disambiguate 'QC power' future/QC: Fix typo future/QC: Tweak horizontal spacing of Table 17.5 Add poor person's slanted shape for 'newtxtext' font Stop using modified book.cls Makefile: Reduce file size of figure generated from ibmqx2-labeled.svg future/formalregress: Fix staccato of 'been' Fix labeling of appendix and section Makefile: Update help message FAQ-BUILD: Add entry on compatibility of a2ping and Ghostscript FAQ-BUILD: Add note on Ubuntu Bionic Makefile: Use latexpand instead of texexpand FAQ-BUILD: Remove latex2html in package list Makefile: Add sed pattern to accommodate fontconfig 2.13.0 fixsvgfonts: Fix typo FAQ-BUILD: Add note on Fedora 28, 27, and other Linux distros Makefile: Add 'latexpand' existence check .gitignore: Add intermediate file suffix Makefile: Add check of version conflict of a2ping Makefile: Remove redundant quotation marks in error functions Makefile: Move check of 'Steel City Comic' font from runlatex.sh FAQ-BUILD: Rephrase #7 to reflect Makefile update bib/QC: Use ASCII apostrophe toolsoftrade: Add labels in code samples as comments Add script to extract code snippet from code sample toolsoftrade: Reference line in code snippets by label Update hyphen2endash Add *.fcv to .gitignore Automate sub makefile update Specify lmtt font for VerbatimM env toolsoftrade: Use \lnlbl in inline code snippet Add 'linelabel' and 'lineref' environment Catch failure in genaration of CodeSamples/snippets.mk Add dependencis to scripts for extracting code snippets Add dependencies of perfbook_flat.tex to CodeSamples/.../*.fcv files Import noindentafter.sty 0.2.2 Suppress indent right after section-level epigraph Remove font family specifier in \Epigraph{} Add info where to obtain 'noindentafter' package CodeSamples/count: Use READ_ONCE/WRITE_ONCE in count_nonatomic.c count: Use new scheme for updated 2 snippets count: Reword Quick Quiz 5.6 to adjust context Enable hyperlink to line label in code snippet fcvextract.pl: Use 'linelabel' env in extracted snippet Update build scripts to support code snippets other than 'C' Add scripts and recipes to work around restriction of herdtools7 reorder_ltms.pl: Enable further labeling in litmus test snippet Exclude meta command lines in .litmus -> .litmus.herd conversion fcvextract.pl: Support 'style=' option and pass through other options Enable 'single' frame around inline code snippets toolsoftrade: Example of extraction of snippet from parallel.sh future/formalregress: Example of extraction of snippet from .litmus file Require updating a2ping to 2.83p on older distos CodeSamples: Exclude meta command lines in building api.h FAQ-BUILD.txt: Fix typo toolsoftrade: Fix typo DEFINE_PER_THREAD() -> DEFINE_PER_CPU() Remove workaround for Fedora 23 Tex Live bug Makefile: Remove rules for QC section count: Employ new scheme for snippet from count_stat.c count: Adjust type of variable 'counter' with code snippet CodeSamples/Makefile: Add conditional for liburcu on Ubuntu Bionic toolsoftrade: Employ new scheme for snippet in newly added sections count: Employ new scheme for snippet of count_stat_eventual.c count: Employ new scheme for snippet of count_end and count_tstat count: Fix uses of READ/WRITE_ONCE()s in count_end and count_tstat count: Tweak counttorture.h to avoid segfault count: Employ new scheme for snippet of count_lim count: Fix uses of READ/WRITE_ONCE() in count_lim count: Fix typo (\lnlbl{} -> \lnref{}) count: Employ new scheme for snippet of count_lim_app count: Fix uses of READ/WRITE_ONCE() in count_lim_app count: Employ new scheme for snippet of count_lim_atomic count: Employ new scheme for snippet of count_lim_sig count: READ/WRITE_ONCE() tweaks for count_lim_sig toolsoftrade: Proofread newly added sections count: Employ new scheme for inline code snippets toolsoftrade: Use 'VerbatimU' for inline snippets toolsoftrade: Employ new scheme for snippets of lock.c toolsoftrade: Employ new scheme for snippet of rwlockscale.c toolsoftrade: Employ new scheme for snippet of compiler barriers toolsoftrade: Employ new scheme for snippets of threadcreate.c count: Fix indent in count_lim_atomic.c CodeSamples: Add api-pthreads/api-gcc.h in depends.mk reorder_ltms.pl: Add 'locationslabel=' option to \end[snippet] CodeSamples/formal: Add C-RCU-remove.litmus CodeSamples/formal/herd: Add recipe for native .litmus tests formal/axiomatic: Import snippet from C-RCU-remove.litmus CodeSamples/formal: Add C-RomanPenyanev-list-rcu-rr.litmus formal/axiomatic: Import snippet from C-RomanPenyanev-list-rcu-rr.litmus formal/axiomatic: Convert snippets of IRIW tests to new scheme formal/axiomatic: Fill in missing ')' howto, cpu: Employ new scheme for command/code snippets SMPdesign: Employ new scheme for snippet of lockhdeq.c SMPdesign: Employ new scheme for snippet of lockhdeq.c and locktdeq.c SMPdesign: Employ new scheme for inline snippets SMPdesign: Employ new scheme for snippets from smpalloc.c SMPdesign/beyond: Employ new scheme for inline pseudocode snippets CodeSamples/SMPdesign/maze: Substitute {READ/WRITE}_ONCE() for ACCESS_ONCE() memorder: Fix line numbers by applying new scheme to C-ISA2+o-r+a-r+a-r+a-o styleguide: Update code snippet section styleguide: Expand on goal of new snippet scheme memorder: Fix typo (Figure -> Table) locking: Employ new snippet scheme locking: Get rid of ACCESS_ONCE() locking: Fix reference to code snippet by "figure" owned: Employ new snippet scheme defer: Employ new snippet scheme for route_seq.c defer: Employ new scheme for snippets of route_refcnt.c formal: Make RCU litmus tests klitmus7 ready CodeSamples/formal/herd: Add recipe for klitmus7-ready tests Use '(* ... *)' style comments in epilogue of litmus tests styleguide: Loosen restriction on comment in litmus test defer: Update Hlist RCU API table formal: Add C-Lock1 and C-Lock2 as proper litmus tests under CodeSamples memorder: Amend captions to 'Message-Passing Address-Dependency' tests defer: Employ new scheme for 'lst:defer:Hazard-Pointer Storage and Erasure' defer: Employ new scheme for snippets of route_hazptr.c defer: Employ new scheme for snippet of seqlock.h defer: Employ new scheme for snippets of route_seqlock.c defer: Employ new scheme for snippets in rcuintro and rcufundamental defer: Employ new scheme for snippets of route_rcu.c CodeSamples/count: Restore atomic125.eps count: Restore 'fig:count:Atomic Increment Scalability on Nehalem' defer: Prevent page/column break in short inline code snippets owned: Fix typo in epigraph count: Include atomic_nehalem.pdf instead of atomic_nehalem.png Junchang Wang (10): atomic_cmpxchg: Handle spurious failure of __atomic_compare_exchange_n memorder: Fix typo memorybarriercum.svg: fix typo memorder: Add a brief description of the use of multicopy atomicity cpu: Fix typos tooloftrade: add missing subject of sentence SMPdesign: Fix typos route_hazptr: Add dependency to hazptr route_hazptr: Fix a memory leak bug defer: Fix a typo Nicholas Krause (1): glossary: Fix Paul's grammar for "Communcation Miss" definition Palik, Imre (4): Changing counttorture defaults. Making the counter implementations safer Updating count.tex with new counter code Regenerating the atomic counter graph on a more modern CPU Paul E. McKenney (114): future/htm: Reword sentence referencing the new Table 17.3 formal/sat: Sharpen up discussion of bug injection formal: Emphasize bug injection as formal-tool testing technique toolsoftrade: Reword ACCESS_ONCE quick quiz debugging: Replace erroreous lambda==0 with m==0 Bibliography update future/QC: Update based on 2018 CES QC events Bibliography update formal: Add figures for CBMC and Nidhugg processing flow future/QC: Add Intel evaluation and entanglement uncertainty Bibliography update future/QC: Cite less-familiar optimization problems cpu: Spectre and Meltdown as additional downsides of speculation formal: Hardware also has empirical specifications future/QC: Update based on Robert Wisnieff feedback future/QC: Add citations for buckyball atomic clock future/QC: Add chip-scale atomic clocks as signal generator future/QC: Add paragraph on all-silicon qubits QC: Add popular-press article calling for lower qubit error rates QC: Bridge error-properties table to earlier text QC: Add citation for first prototype of Shor's algorithm future/QC: Add topology of 20-qubit system future/QC: Add more QC efforts howto: Quantum computing has been added to the future chapter Bibliography update howto: Add Nvidia's SC2011 GPGPU tutorial cpu: Update MIPS graphs, adding past five years of CPUs Bibliography update advsync: Self-review of the NBS section memorder: Linux kernel v4.15 avoids Alpha dependent-read reordering Bibliography update formal/sat: Add DATE'18 citation future/formalregress: Move formal regression testing to future chapter future/formalregress: Add Will's and Catalin's TLA work Initial version of lock wakeup-latency benchmark lockwakelatency: Move to event-based mechanism memorder: Fix cheat-sheet key and smp_mb__after_atomic() Bibliography update future/QC: Entangling large-scale mechanical oscillators future/tm: Add STM citation future/formalregress: Bug location via bisection memorder: Add quick quiz about late 2017 rewrite Forward-reference the formal-regression section Bibliography update future/QC: Add Fujitsu special-purpose digital annealing hardware future/formalregress: Add caveats and nuance to requirments count: Expand on gap between C11 atomics and the Linux kernel toolsoftrade: Standard pthread error handling and exit() arguments advsync/special: Standard pthread error handling and exit() arguments advsync/special/mbtest: Remove old manual ordering tests api-pthreads: Standard pthread error handling and exit() arguments api-pthreads/QAfter: Upgrade code to be 64-bit-safe api-pthreads/QAfter: Standard pthread error handling and exit() arguments appendix/rcuimpl: Delete in favor of the userspace RCU library count: Standard pthread error handling and exit() arguments defer: Standard pthread error handling and exit() arguments locking: Standard pthread error handling and exit() arguments SMPdesign: Standard pthread error handling and exit() arguments SMPdesign/maze: Standard exit() arguments and printf cleanup count: Update figure for changes to count_stat_eventual.c toolsoftrade: Make figures changes corresponding to code changes toolsoftrade: Give a forward reference for READ_ONCE() and WRITE_ONCE() toolsoftrade: Fix some straggling perror() calls utilities: Provide scripts instead of broken symlinks Makefile: Fix "make" behavior toolsoftrade: Fix memory_order_explicit() typo debugging: Add section-level epigraphs future/formalregress: Fix grammar nit: s/fixes/fixed/ debugging: Add citation and caution about over-benchmarking future/tm: Update for exceptions and hazard pointers formal: Add section-level epigraphs future/QC: Remove quantum-computing section future: Get rid of obsolete QC diagrams count: Update code description and QQ based on {READ,WRITE}_ONCE() Bibliography update toolsoftrade: Add a section on accessing shared variables toolsoftrade: Compiler-invented data races prohibited Bibliography update toolsoftrade: Add a section on volatile keyword toolsoftrade: Add a section on assembly sequence toolsoftrade: Add "Avoiding Data Races" section Bibliography update toolsoftrade: Add C++/LKMM citation (P0124R6) Bibliography update cpu: Add more recent CPU operation performance citation toolsoftrade: Avoid data races involving signal/interrupt handlers Bibliography update future/htm: Not HTM ease of use benefits to black-hat hackers formal/ppcmem: Fix labels by removing extraneous "sec:" Bibliography update formal/axiomatic: Add example RCU litmus tests formal/axiomatic: Add example locking litmus tests memorder: Update based on v4.15 Linux kernel de-Alpha-ication locking: Forward-reference herd's ability to handle locking defer/rcufundamental: Forward-reference herd's ability to handle RCU memorder: Add reference to herd tooling and LKMM formal: Miscellaneous fixes and updates toolsoftrade: Fix grammar nit debugging: Clarify cdf_poisson() arguments toolsoftrade: Add example of remote load fusing toolsoftrade: Fix "C Compilers Can Non-Adjacent Fuse Loads" toolsoftrade: Cite JF Bastien's volatile C++ working paper defer: Call out asymmetric fences for hazard pointers SMPdesign: Connect resource allocation and limit counting defer: Fix filename and expand on mechanical reference counting memorder: Clean up reference to lockless_dereference() memorder: Wordsmith "Where is Memory Ordering Needed?" memorder: Forward reference from basic rules of thumb memorder: Reword cheat sheet and discussion memorder: Add Quick Quiz referring back to temporal properties defer: Apply section-level epigraphs owned: Apply section-level epigraphs FAQ: Note availability of Chinese-language hardcopy FAQ: Add Chinese and release/edition definition SeongJae Park (21): Fix typo: s/Curiosty Rover/Curiosity Rover/ toolsoftrade: Add a missed unbreakable space for line number toolsoftrade: Use `\path{}` for filename intro: Polish a sentence for MIPS graphs count: Use consistent coding style count: Add unbreakable spaces for line numbers SMPdesign: Add a missed unbreakable space for line number locking: Add missed unbreakable spaces locking: Fix wrong line number locking: Fix a typo, 'a another' defer: Fix wrong function name: s/hp_record/hp_store defer: Fix wrong description about return value of 'read_seqretry()' defer: Add missed unbreakable spaces for code line defer/rcuapi: Apply move of toyrcu to appendix defer: Fix wrong code line datastruct: Update an outdated footnote count: Use '\lnref' consistently toolsoftrade: Fix a typo for function name toolsoftrade: Use '\co' consistently for volatile keyword formal/axiomatic: Fix a typo: s/Figure/Listing formal/axiomatic: Add missed parentheses for 'WRITE_ONCE()' .gitignore | 5 + CodeSamples/Makefile | 8 +- CodeSamples/SMPdesign/lockhdeq.c | 53 +- CodeSamples/SMPdesign/locktdeq.c | 70 +- CodeSamples/SMPdesign/matmul.c | 4 +- CodeSamples/SMPdesign/matmul_block.c | 4 +- CodeSamples/SMPdesign/maze/maze.c | 12 +- CodeSamples/SMPdesign/maze/maze.h | 6 + CodeSamples/SMPdesign/maze/maze_fg.c | 18 +- CodeSamples/SMPdesign/maze/maze_part.c | 18 +- CodeSamples/SMPdesign/smpalloc.c | 61 +- CodeSamples/advsync/special/mbtest/.gitignore | 2 - CodeSamples/advsync/special/mbtest/COPYING | 360 - CodeSamples/advsync/special/mbtest/README | 147 - CodeSamples/advsync/special/mbtest/arch.h | 64 - CodeSamples/advsync/special/mbtest/arch_ia64.h | 65 - CodeSamples/advsync/special/mbtest/arch_ppc.h | 110 - CodeSamples/advsync/special/mbtest/arch_x86.h | 64 - CodeSamples/advsync/special/mbtest/iriw.c | 79 - CodeSamples/advsync/special/mbtest/mb_lhs_ws.c | 57 - CodeSamples/advsync/special/mbtest/mb_s_lis_shl.c | 75 - CodeSamples/advsync/special/mbtest/mb_s_wbs_wbl.c | 60 - CodeSamples/advsync/special/mbtest/mb_s_whs_whl.c | 60 - CodeSamples/advsync/special/mbtest/mb_s_ws_whl.c | 59 - CodeSamples/advsync/special/mbtest/mb_sbl_sbl.c | 59 - CodeSamples/advsync/special/mbtest/mb_sbs_lbl.c | 60 - .../advsync/special/mbtest/mb_sbs_wbs_lbl.c | 64 - CodeSamples/advsync/special/mbtest/mb_sbs_ws_wbl.c | 65 - CodeSamples/advsync/special/mbtest/mb_sbs_ws_wl.c | 66 - CodeSamples/advsync/special/mbtest/mb_ses_lil.c | 69 - CodeSamples/advsync/special/mbtest/mb_ses_wi_wbl.c | 65 - CodeSamples/advsync/special/mbtest/mb_ses_wi_whl.c | 64 - CodeSamples/advsync/special/mbtest/mb_ses_ws_wbl.c | 64 - CodeSamples/advsync/special/mbtest/mb_ses_ws_whl.c | 64 - CodeSamples/advsync/special/mbtest/mb_shs_lhl.c | 59 - .../advsync/special/mbtest/mb_shs_shs_lil_lil.c | 75 - CodeSamples/advsync/special/mbtest/mb_ss_ll.c | 57 - CodeSamples/advsync/special/mbtest/mbtest.clean | 3 - CodeSamples/advsync/special/mbtest/mbtest.files | 22 - CodeSamples/advsync/special/mbtest/mbtest.h | 796 -- CodeSamples/advsync/special/mbtest/mbtest.mk | 6 - CodeSamples/advsync/special/mbtest/sc_loadload.c | 101 - CodeSamples/advsync/special/mbtest/sc_storestore.c | 87 - CodeSamples/advsync/special/mbtest/sctest3.c | 96 - CodeSamples/advsync/special/timewritecache.c | 54 +- CodeSamples/advsync/special/writecacheflow.c | 53 +- CodeSamples/api-pthreads/QAfter/time.c | 29 +- CodeSamples/api-pthreads/QAfter/timelocked.c | 58 +- CodeSamples/api-pthreads/api-gcc.h | 5 +- CodeSamples/api-pthreads/api-pthreads.h | 54 +- CodeSamples/api-pthreads/util.h | 1 + CodeSamples/appendix/rcuimpl/.gitignore | 5 - CodeSamples/appendix/rcuimpl/Makefile | 42 - CodeSamples/appendix/rcuimpl/README | 2 - CodeSamples/appendix/rcuimpl/extractconfig.sh | 31 - CodeSamples/appendix/rcuimpl/onoffrandtorture.sh | 71 - CodeSamples/appendix/rcuimpl/test_rwlock_timing.c | 163 - CodeSamples/appendix/rcuimpl/test_urcu.c | 278 - CodeSamples/appendix/rcuimpl/test_urcu_timing.c | 204 - CodeSamples/appendix/rcuimpl/urcu-asm.c | 15 - CodeSamples/appendix/rcuimpl/urcu.c | 313 - CodeSamples/appendix/rcuimpl/urcu.h | 326 - CodeSamples/count/Makefile | 30 +- CodeSamples/count/atomic.eps | 483 +- CodeSamples/count/atomic_nehalem.eps | 2266 +++++ CodeSamples/count/count_atomic.c | 16 +- CodeSamples/count/count_end.c | 54 +- CodeSamples/count/count_end_rcu.c | 11 +- CodeSamples/count/count_lim.c | 147 +- CodeSamples/count/count_lim_app.c | 17 +- CodeSamples/count/count_lim_atomic.c | 207 +- CodeSamples/count/count_lim_sig.c | 165 +- CodeSamples/count/count_nonatomic.c | 16 +- CodeSamples/count/count_stack.c | 9 +- CodeSamples/count/count_stat.c | 18 +- CodeSamples/count/count_stat_atomic.c | 6 +- CodeSamples/count/count_stat_eventual.c | 43 +- CodeSamples/count/count_tstat.c | 26 +- CodeSamples/count/counttorture.h | 47 +- CodeSamples/count/limtorture.h | 26 +- CodeSamples/defer/Makefile | 2 +- CodeSamples/defer/gettimestamp.c | 2 +- CodeSamples/defer/gettimestampmp.c | 2 +- CodeSamples/defer/hazptr.c | 7 +- CodeSamples/defer/hazptrtorture.h | 6 +- CodeSamples/defer/rcu_sig.c | 2 +- CodeSamples/defer/rcutorture.h | 6 +- CodeSamples/defer/route_hazptr.c | 50 +- CodeSamples/defer/route_rcu.c | 75 +- CodeSamples/defer/route_refcnt.c | 67 +- CodeSamples/defer/route_seq.c | 42 +- CodeSamples/defer/route_seqlock.c | 56 +- CodeSamples/defer/routetorture.h | 4 +- CodeSamples/defer/seqlock.h | 55 +- CodeSamples/defer/seqlocktorture.c | 4 +- CodeSamples/depends.mk | 11 +- CodeSamples/formal/herd/.gitignore | 2 + CodeSamples/formal/herd/C-Lock1.litmus | 23 + CodeSamples/formal/herd/C-Lock2.litmus | 23 + CodeSamples/formal/herd/C-RCU-remove.litmus | 31 + .../formal/herd/C-RomanPenyaev-list-rcu-rr.litmus | 59 + .../formal/herd/C-SB+l-o-o-u+l-o-o-u-C.litmus | 4 +- CodeSamples/formal/herd/Makefile | 90 +- CodeSamples/formal/herd/absperf-reduce.sh | 30 + CodeSamples/formal/herd/absperf.sh | 15 + CodeSamples/formal/herd/litmus2herd.sh | 4 +- .../formal/litmus/C-ISA2+o-r+a-r+a-r+a-o.litmus | 22 +- .../formal/litmus/C-MP+o-wmb-o+ld-addr-o.litmus | 30 - CodeSamples/formal/litmus/api.h | 12 +- CodeSamples/intro/threadcreate.c | 20 +- CodeSamples/locking/.gitignore | 1 + CodeSamples/locking/bakery.c | 2 +- CodeSamples/locking/locked_list.c | 29 +- CodeSamples/locking/lockwakelatency.c | 213 + CodeSamples/locking/xchglock.c | 32 +- CodeSamples/toolsoftrade/forkjoin.c | 6 +- CodeSamples/toolsoftrade/forkjoinperf.c | 10 +- CodeSamples/toolsoftrade/forkjoinvar.c | 16 +- CodeSamples/toolsoftrade/lock.c | 139 +- CodeSamples/toolsoftrade/mytrue.c | 2 +- CodeSamples/toolsoftrade/parallel.sh | 20 +- CodeSamples/toolsoftrade/pcreate.c | 18 +- CodeSamples/toolsoftrade/rwlockscale.c | 83 +- FAQ-BUILD.txt | 73 +- FAQ.txt | 22 +- Makefile | 128 +- SMPdesign/CPUvsEnet.eps | 1084 ++- SMPdesign/SMPdesign.tex | 507 +- SMPdesign/beyond.tex | 319 +- SMPdesign/clockfreq.eps | 1000 ++- SMPdesign/clockfreq.gif | Bin 4620 -> 0 bytes SMPdesign/clockfreq.pbm | Bin 38411 -> 0 bytes SMPdesign/clockfreqBroadwell.dat | 23 + SMPdesign/clockfreqHaswell.dat | 15 + SMPdesign/clockfreqIvyBridge.dat | 16 + SMPdesign/clockfreqSandyBridge.dat | 25 + SMPdesign/clockfreqSkylake.dat | 21 + SMPdesign/matmuleff.eps | 370 +- SMPdesign/mipsperbuck.dat | 10 +- SMPdesign/mipsperbuck.eps | 412 +- SMPdesign/partexercises.tex | 263 +- SMPdesign/plots.sh | 34 +- SMPdesign/synceff.eps | 500 +- advsync/advsync.tex | 18 +- appendix/ack/ack.tex | 8 +- appendix/styleguide/samplecodesnippet.c | 11 + appendix/styleguide/samplecodesnippetfcv.tex | 17 + appendix/styleguide/samplecodesnippetlst.tex | 6 +- appendix/styleguide/samplecodesnippetlstlbl.tex | 19 + appendix/styleguide/styleguide.tex | 439 +- appendix/toyrcu/toyrcu.tex | 4 +- bib/QC.bib | 194 +- bib/RCU.bib | 118 +- bib/TM.bib | 27 + bib/hw.bib | 26 +- bib/os.bib | 38 + bib/parallelsys.bib | 9 + bib/refs.bib | 24 + bib/swtools.bib | 229 + bib/syncrefs.bib | 39 +- book.cls | 768 -- count/count.tex | 1729 ++-- cpu/overheads.tex | 14 +- cpu/overview.tex | 17 +- datastruct/datastruct.tex | 2 +- debugging/debugging.tex | 65 +- defer/defer.tex | 79 +- defer/hazptr.tex | 181 +- defer/rcu.tex | 2 + defer/rcuapi.tex | 18 +- defer/rcufundamental.tex | 388 +- defer/rcuintro.tex | 13 +- defer/rcuusage.tex | 523 +- defer/refcnt.tex | 163 +- defer/seqlock.tex | 266 +- defer/updates.tex | 3 + defer/whichtochoose.tex | 7 + formal/axiomatic.tex | 332 +- formal/cbmc.svg | 551 ++ formal/formal.tex | 22 +- formal/nidhugg.svg | 584 ++ formal/ppcmem.tex | 24 +- formal/sat.tex | 28 +- formal/spinhint.tex | 7 +- formal/stateless.tex | 14 +- future/Bloch_Sphere.svg | 92 - future/HTMtable.tex | 201 +- future/HTMtableColor.tex | 9 + future/HTMtableFull.tex | 148 + future/HTMtableRCU.tex | 254 +- future/QC-FormConstant.eps | 175 - future/QC.tex | 1398 --- future/T2h1lc19xmqrdlsor.eps | 9478 -------------------- future/be-lb-n4-rf-all.eps | 4 +- future/be-lw-n4-rf-all.eps | 4 +- formal/regression.tex => future/formalregress.tex | 233 +- future/future.tex | 6 +- future/htm.tex | 14 +- future/latencytrend.eps | 4 +- future/tm.tex | 25 +- glossary.tex | 2 +- howto/howto.tex | 64 +- intro/intro.tex | 7 +- locking/locking-existence.tex | 108 +- locking/locking.tex | 494 +- memorder/memorder.tex | 377 +- memorder/memorybarriercum.svg | 2 +- noindentafter.sty | 194 + owned/owned.tex | 51 +- perfbook.tex | 53 +- pfbook.cls | 47 + toolsoftrade/toolsoftrade.tex | 1607 ++-- utilities/c2latex.sh | 24 +- utilities/extractClatex.sh | 59 +- utilities/fcvextract.pl | 212 + .../fixanepsfonts-urwps.sh | 21 +- utilities/fixfonts-urwps.sh | 61 + utilities/fixfonts.sh | 28 +- utilities/fixsvgfonts-urwps.sh | 23 + utilities/fixsvgfonts.sh | 15 + utilities/gen_snippet_d.pl | 123 + utilities/gen_snippet_d.sh | 8 + utilities/hyphen2endash.sh | 3 + utilities/latex2c.sh | 24 +- utilities/reorder_ltms.pl | 106 + utilities/runlatex.sh | 8 - 226 files changed, 13878 insertions(+), 23757 deletions(-) delete mode 100644 CodeSamples/advsync/special/mbtest/.gitignore delete mode 100644 CodeSamples/advsync/special/mbtest/COPYING delete mode 100644 CodeSamples/advsync/special/mbtest/README delete mode 100644 CodeSamples/advsync/special/mbtest/arch.h delete mode 100644 CodeSamples/advsync/special/mbtest/arch_ia64.h delete mode 100644 CodeSamples/advsync/special/mbtest/arch_ppc.h delete mode 100644 CodeSamples/advsync/special/mbtest/arch_x86.h delete mode 100644 CodeSamples/advsync/special/mbtest/iriw.c delete mode 100644 CodeSamples/advsync/special/mbtest/mb_lhs_ws.c delete mode 100644 CodeSamples/advsync/special/mbtest/mb_s_lis_shl.c delete mode 100644 CodeSamples/advsync/special/mbtest/mb_s_wbs_wbl.c delete mode 100644 CodeSamples/advsync/special/mbtest/mb_s_whs_whl.c delete mode 100644 CodeSamples/advsync/special/mbtest/mb_s_ws_whl.c delete mode 100644 CodeSamples/advsync/special/mbtest/mb_sbl_sbl.c delete mode 100644 CodeSamples/advsync/special/mbtest/mb_sbs_lbl.c delete mode 100644 CodeSamples/advsync/special/mbtest/mb_sbs_wbs_lbl.c delete mode 100644 CodeSamples/advsync/special/mbtest/mb_sbs_ws_wbl.c delete mode 100644 CodeSamples/advsync/special/mbtest/mb_sbs_ws_wl.c delete mode 100644 CodeSamples/advsync/special/mbtest/mb_ses_lil.c delete mode 100644 CodeSamples/advsync/special/mbtest/mb_ses_wi_wbl.c delete mode 100644 CodeSamples/advsync/special/mbtest/mb_ses_wi_whl.c delete mode 100644 CodeSamples/advsync/special/mbtest/mb_ses_ws_wbl.c delete mode 100644 CodeSamples/advsync/special/mbtest/mb_ses_ws_whl.c delete mode 100644 CodeSamples/advsync/special/mbtest/mb_shs_lhl.c delete mode 100644 CodeSamples/advsync/special/mbtest/mb_shs_shs_lil_lil.c delete mode 100644 CodeSamples/advsync/special/mbtest/mb_ss_ll.c delete mode 100644 CodeSamples/advsync/special/mbtest/mbtest.clean delete mode 100644 CodeSamples/advsync/special/mbtest/mbtest.files delete mode 100644 CodeSamples/advsync/special/mbtest/mbtest.h delete mode 100644 CodeSamples/advsync/special/mbtest/mbtest.mk delete mode 100644 CodeSamples/advsync/special/mbtest/sc_loadload.c delete mode 100644 CodeSamples/advsync/special/mbtest/sc_storestore.c delete mode 100644 CodeSamples/advsync/special/mbtest/sctest3.c delete mode 100644 CodeSamples/appendix/rcuimpl/.gitignore delete mode 100644 CodeSamples/appendix/rcuimpl/Makefile delete mode 100644 CodeSamples/appendix/rcuimpl/README delete mode 100644 CodeSamples/appendix/rcuimpl/extractconfig.sh delete mode 100644 CodeSamples/appendix/rcuimpl/onoffrandtorture.sh delete mode 100644 CodeSamples/appendix/rcuimpl/test_rwlock_timing.c delete mode 100644 CodeSamples/appendix/rcuimpl/test_urcu.c delete mode 100644 CodeSamples/appendix/rcuimpl/test_urcu_timing.c delete mode 100644 CodeSamples/appendix/rcuimpl/urcu-asm.c delete mode 100644 CodeSamples/appendix/rcuimpl/urcu.c delete mode 100644 CodeSamples/appendix/rcuimpl/urcu.h create mode 100644 CodeSamples/count/atomic_nehalem.eps create mode 100644 CodeSamples/formal/herd/C-Lock1.litmus create mode 100644 CodeSamples/formal/herd/C-Lock2.litmus create mode 100644 CodeSamples/formal/herd/C-RCU-remove.litmus create mode 100644 CodeSamples/formal/herd/C-RomanPenyaev-list-rcu-rr.litmus create mode 100644 CodeSamples/formal/herd/absperf-reduce.sh create mode 100644 CodeSamples/formal/herd/absperf.sh delete mode 100644 CodeSamples/formal/litmus/C-MP+o-wmb-o+ld-addr-o.litmus create mode 100644 CodeSamples/locking/lockwakelatency.c delete mode 100644 SMPdesign/clockfreq.gif create mode 100644 SMPdesign/clockfreqBroadwell.dat create mode 100644 SMPdesign/clockfreqHaswell.dat create mode 100644 SMPdesign/clockfreqIvyBridge.dat create mode 100644 SMPdesign/clockfreqSandyBridge.dat create mode 100644 SMPdesign/clockfreqSkylake.dat create mode 100644 appendix/styleguide/samplecodesnippet.c create mode 100644 appendix/styleguide/samplecodesnippetfcv.tex create mode 100644 appendix/styleguide/samplecodesnippetlstlbl.tex delete mode 100644 book.cls create mode 100644 formal/cbmc.svg create mode 100644 formal/nidhugg.svg delete mode 100644 future/Bloch_Sphere.svg create mode 100644 future/HTMtableColor.tex create mode 100644 future/HTMtableFull.tex delete mode 100644 future/QC-FormConstant.eps delete mode 100644 future/QC.tex delete mode 100644 future/T2h1lc19xmqrdlsor.eps rename formal/regression.tex => future/formalregress.tex (74%) create mode 100644 noindentafter.sty create mode 100644 pfbook.cls mode change 120000 => 100755 utilities/c2latex.sh mode change 120000 => 100755 utilities/extractClatex.sh create mode 100755 utilities/fcvextract.pl rename CodeSamples/advsync/special/mbtest/run_mbtest.sh => utilities/fixanepsfonts-urwps.sh (70%) create mode 100644 utilities/fixfonts-urwps.sh create mode 100644 utilities/fixsvgfonts-urwps.sh create mode 100644 utilities/fixsvgfonts.sh create mode 100755 utilities/gen_snippet_d.pl create mode 100644 utilities/gen_snippet_d.sh mode change 120000 => 100755 utilities/latex2c.sh create mode 100755 utilities/reorder_ltms.pl