Akira Yokosawa (127):
      advsync: Another fix to use latex reference feature consistently
      advsync: Fix a trivial typo
      advsync: Add necessary blank lines around minipages
      advsync: Tweak vertical spacing around code snippets
      qqz: Improve accuracy of cross-links
      Improve behavior of build scripts
      Remove *.bbl from repository
      Fix regression in improvement of build scripts
      Another regression fix of build script improvement
      count: Fix missed context adjustment
      whymb: Remove redundant words
      advsync: Tweak table appearance
      advsync: Replace table with diagrams in "Variables Can
      advsync: Use colors nicer to your eyes
      Makefile: Denote phony targets explicitly
      .gitignore: Add planned empty targets
      Add font installation check
      Add short name targets in Makefile
      sig-theft: Fix .dot source for dot - graphviz version 2.36.0
      Make default target of "make" overridable
      Makefile: Reorder rules
      Makefile: Use wildcards
      Further improvement of build scripts
      Fix regression in Makefile
      Place trouble-shooting questions to FAQ-BUILD.txt
      Further tweaks of Makefile
      rm qqz.tex and add store15tred.esp to repository
      Remove rules related to perfbook_html
      Makefile: Add comment on why 'extraction' is an empty target
      Improve messages regarding font installation
      Fix false positives in font check
      Improve messages regarding font installation
      Add citation of HP11
      cpu: Add citation of HP11
      Remove .eps files whose sources are .dot
      FAQ-BUILD.txt: Add graphviz package as required
      Makefile: Promote eps2pdf.sh to implicit rules
      build scripts: Suppress warning messages
      Hide sources of unused figures
      Makefile: Use wildcard for .dot files
      Makefile: Possible fix for warning of duplicated target
      Align numbers in Performance of Mechanisms table in qqz
      cpu: Fix numbers in Performance of Mechanisms tables
      toolsoftrade: Centering figures of verbatim code examples
      toolsoftrade: Adjust position of Figure 4.5
      toolsoftrade: Use \path command for C source file name
      count: Use \path command for C source file name
      count: Centering figures of verbatim code examples
      count: Tweak position of Figure 5.1
      SMPdesign: Use \path command for path names
      SMPdesign: Centering figures of verbatim code examples
      count: Typo fix ("a Intel" -> "an Intel")
      Revert "Further tweak position of "Just Count!" figure"
      Revert "count: Tweak position of Figure 5.1"
      Add 'footmisc' package for better placement of footnote
      Add comments on the purpose of additional packages
      Add 'footnotebackref' package
      Fix typo in the definition of \co macro
      qqz: Add macro's for referencing quick quizzes
      qqz: Improve accuracy of hyperref to QQA
      locking: Centering figures of verbatim code examples
      locking: Use \path command for path names
      defer: Centering figures of verbatim code examples
      defer: Tweak font size of Figure 9.5
      defer: Align left margins of Figurs 9.28, 9.29 and 9.30
      defer: Use \path command for path names
      Use \co{} properly to give room for line-breaks
      datastruct: Centering figures of verbatim code examples
      datastruct: Fix indent of Figure 'Alignment for 64-Byte Cache Lines'
      datastruct: Use \path command for path names
      debugging: Centering figures of verbatim code examples
      debugging: Use \path command for path names
      debugging: Enclose shell command example in \co{} macro
      formal: Centering figures of verbatim code examples
      formal: Use \path command for path names
      together: Centering figures of verbatim code examples
      advsync: Centering figures of verbatim code examples
      advsync: Add \centering in some tables
      advsync: Use \path command for path names
      rt: Centering figures of verbatim code examples
      rt: Use \path{} for path names
      rt: Consistently use 'real-time' as adjective
      qqz: Add cross-link reference at the end of each QQ and QQA
      qqz: Improve accuracy of qqz back link
      qqz: Add macro for referencing quick quiz answer
      rt & advsync: Typo fixes
      howto: Miscellaneous fixes
      qqz: Use \vspace{} for vertical spacing in Appendix D.
      qqz: Give room for \parskip to suppress orphans
      future: Use \QuickQuizARef{} for reference to QQA
      future: Miscellaneous possible fixes
      after: Typo fixes
      time: Typo fix
      Typo fixes in Quick Quizzes
      rt: Typo fix in QQA
      Add 'hypcap' package to make hyperref go to top of figure and table
      after: Centering figures of verbatim code examples
      after: Tweak font size of Figure A.2
      after: Use \path command for path names
      primitives: Use \path for path name
      primitives: Centering figures of verbatim code examples
      qqz: Replace redundant blank lines with comment lines
      qqz: Use \minipage{} environment for code snippet
      qqz: Add blank lines for proper paragraph breaks
      qqz: More replacement of redundant blank lines with comment lines
      appendix: Centering tables and figures
      Use \centering instead of center environment (part 1)
      Use \centering instead of center environment (part 2)
      Use \centering instead of center environment (part 3)
      Use \centering instead of center environment (part 4)
      Use \centering instead of center environment (part 5)
      toolsoftrade: qqa: Add paragraph break around minipage
      SMPdesign: Tweak table 'Schematic of Real-World Parallel Allocator'
      defer: Use 'tabulary' for some tables
      Tweak sizes and positions of Tables and Figures
      SMPdesign: Restore effect of \cleardoublepage
      defer/refcnt: Typo fix
      defer/refcnt: Another typo fix
      qqz: Add another hyperlink to black box in QQA
      qqz: Modify back link target at end of QQA to the end of QQ
      howto: Update explanation of cross-link between QQs and QQAs
      formal: Trivial typo fixes
      defer/rcuapi: Merge Tables 9.3 and 9.4
      defer: Trivial typo fixes
      Use UK style punctuation order
      Use unspaced em dashes consistently
      Tweak width of epigraph

Andreea-Cristina Bernat (3):
      api: Add multiple header files
      hazptr: Modify name of global variable that creates confusion
      Deallocate memory in hash-table perftest

Andrew Donnellan (2):
      Fix capitalisation of "Figure" in credits for real-time chapter
      FAQ: Add note on installing Steel City Comic font

Balbir Singh (1):
      Fix build error on Fedora 23 with texlive

Dave (1):
      Typos and grammatical fixes

Dominik Dingel (2):
      CodeSamples: Fix compiler warnings
      CodeSamples: Add read/write solution to the deq example

Emilio G. Cota (3):
      advsync/mb: Fix wrong value of B in data dep example
      advsync/mb: s/targetted/targeted/
      advsync: s/an write/a write/

Namhyung Kim (1):
      Remove a duplicate 'not'

Paolo Bonzini (4):
      Typo in battery-powered systems Quick Quiz
      qqz: Avoid duplicate references
      qqz: Cross-link questions and answers
      Fix typo in quick quiz 4.17

Paul E. McKenney (179):
      Fix rcu_read_unlock() toyrcu confusion
      Move hash-table code into a subdirectory
      Fix typo
      Add a bit more cynicism to the formal-verification chapter.
      Bare beginning on memory-barriers rewrite
      Add -Wall by default
      Add smp_load_acquire() and smp_store_release()
      Add code for the Issaquah Challenge
      defer: Clean up -Wall warnings
      Add "homework problem" based on old DYNIX/ptx TCP/IP routing RCUification
      count: Clean up -Wall warnings.
      advsync: Clean up -Wall warnings
      rcuimpl: Fix -Wall warnings
      future: Fix -Wall bugs
      intro: Fix -Wall warnings
      locking: Add Makefile, clean up -Wall warnings
      toolsoftrade: Fix -Wall warnings
      Fix bug due to missing rcu_read_lock().
      Transactional self-review
      Add Michael Wong's point about portability and generality
      Remove additional clause from perfbook DCO
      Add note on experience with HTM-based lock elision
      Add quick quiz on HTM-based lock elision
      ATOMIC_INIT() and atomic_read() are the exceptions that prove the rule
      Complete the answer to a Quick Quiz
      Add quick quiz about kfree as kref release function
      Permitted not required to be non-atomic
      Add HW cache-consistency citations to QQ3.4
      Pull cache-coherency protocol citations out of QQ.
      Get the existence files into the git archive
      Add Quick Quiz for Dominik Dingel's solution
      Update .gitignore for lockrwdeq
      Add missing comma in lead-in to locking chapter
      Add Michael Wong's "iron triangle" and wordsmith
      Update bibliography
      Update FSF address to point to their website
      Fix explanation of the speed of electricity
      More updates to electricity-vs-light discussion
      Initialize variable
      Add footnote on ARMv8's half memory barriers
      Update bibliography, show 1980s parallel programming guides
      Add Korean translation to FAQ.txt
      Update bibliography files
      First attempt to add MIPS memory-ordering properties
      Add batching and weakening to the discussion of counting algorithms
      Aside on batching and weakening for partitioning
      Partitioning, batching, and weakening for data ownership
      Deferred processing as a weakness
      Partiioning, batching, and weakening to advsync
      Add bounded wait-free synchronization to the NBS discussion
      Relate techinques and optimizations
      Add a nod to special-purpose hardware at the end of counting
      Move real-time RCU example to real-time chapter
      Updates to real-time role of RCU
      Add Deadlock Empire citation
      Catch up qqz.tex, fix punctuation-quote order
      Add wrap-up to quiz-quizzes section
      Call out caching benefits of read-mostly designs
      First installment of deferred-processing running example
      Add larger multiple-value-write scenario
      Promote hazard pointers to a top-level section
      Fix up deferred-processing roadmap
      Fill out more of deferred-processing example application
      Add caveats to the Software Logic Analyzer
      Drop the derivation of the Poisson distribution
      Drop self-referential citation in favor of chapter reference
      Update todo list
      Merge commit 'b51edb7b5c7932486b72caf28afa5479b68f77f0'
      Add a few epigraphs
      Add yet more epigraphs and update credits
      Update copyright date
      Even more epigraphs
      Another epigraph
      Turn bare URL into citation
      Fix now-obsolete back reference to Compaq Wizard web page
      Explain why cells in table 14.2 can be blank
      Add forward references to section 3.4
      Credit Akira for the fancy multiple-values-of-variable figure
      Relate data-structures into back to epigraph
      Add a spin_is_locked() function
      Make spinlock primitives abort on error for easier debugging
      Add the beginnings of a routing example
      Limping version
      Merge branch 'makefile-tweaks-v4' of /tmp/makefile-tweaks-v4 into akira.2016.05.14a
      Add a sequential set of routing functions
      Add hazard-pointer-based routing table implementation
      Fix typo "baloon" -> "balloon"
      Fix some stray "hash" instances in comments etc.
      No quiescent states needed for hazard pointers
      Add a buggy reference-count-protected route list
      Merge branch 'fix-false-positive-v4' of https://github.com/akiyks/perfbook into akira.2016.05.21a
      Fix reference-count increment/decrement balance for route_refcnt
      Update bibliography
      Move high-performance random() to new lib directory
      Define comparison function at initialization
      Improve errno checking
      Add TEST_HASH symbol to allow tests to be excluded
      Fix typo in epigram attribution
      Align numbers in Performance of Mechanisms table
      Further tweak position of "Just Count!" figure
      hlist_for_each_entry_rcu() now has only three arguments
      Fix answer to real-time queueing-theory quick quiz
      Merge branch 'qqz-additional-ref-mark' of https://github.com/akiyks/perfbook
      Qualify quick-quiz identifiers by chapter
      Apply SPDX license identifiers to unambiguous files
      Add diagnostics to route_refcnt to reliably detect use-after-free
      Add diagnostics to route_rcu to reliably detect use-after-free
      Add a DEFINE_SEQ_LOCK()
      Simplify read_seqretry()
      Use "static inline" for functions in seqlock.h
      Add a seqlock-"protected" route cache
      Make code samples match example in text for pre-BSD routing
      Make routetorture use parallel random()
      Add read-only performance tests to route torturing
      Performance-measurement script
      Fix bug resulting in only ever one CPU for route_perf
      Additional routing performance measurement fixes
      Route performance data reduction
      Add data and plot script for routing benchmark
      Run 5 and 7 CPUs for route performance tests
      Match pre-BSD diagram to code
      Create running example section, rename figure
      Make route code match text: s/proc/iface/
      Add single-threaded routing algorithm and brief description
      Add use-after-free checks to route_hazptr
      Add RT chapter to the Section 1.1 roadmap
      Add Pre-BSD routing code using (buggy) reference counting
      Merge branch 'non-cosmetic-fixes' of https://github.com/akiyks/perfbook
      Use "tab:" label prefix for tables
      Add performance graph for Pre-BSD reference counting
      Merge branch 'cosmetic-fixes-round-3' of https://github.com/akiyks/perfbook
      Shrink shiny new Pre-BSD reference-count performance figure
      Move figure to new format and add path
      Update bibliography database
      Add instructions on using quick-quiz hyperlinks
      Add Pre-BSD route-table example to reference counting
      Update transition from reference counts to hazard pointers
      Add code and performance figures for hazard pointers
      Keep attribution of contributions in git logs and announcements
      Call out hazard pointers's memory-footprint advantages
      Fix synchornization typo
      Text for Pre-BSD routing hazard-pointer implementation
      Truth in advertising for refcnt Pre-BSD routing table
      Update sequence-lock algorithm, prep for Pre-BSD
      Remove unused variable from route_seqlock
      Add use-after-free diagnostics
      Add needed memory barrier for use-after-free diagnostics
      Loosen Pre-BSD code figure placement constraints
      Allow route_rcu to be built for QSBR
      Add QSBR variant for Pre-BSD routing data
      Clarify x-axis labels for Pre-BSD data
      Generate new QSBR data
      Update defer/.gitignore for new _qsbr binary
      Add Pre-BSD plot for RCU QSBR
      Switch source of Pre-BSD plots, add QQ on 8-CPU plot limit
      Improve answer for QQ about non-ideal hazard-pointer performance
      Add Pre-BSD routing example to RCU section
      Introduce call_rcu() a bit earlier to support pre-BSD example
      Light rework of RCU API section
      Update which-to-choose section
      Add QQ on why not always use QSBR
      Another addition to todo.txt
      Move plot labels from "CPUs/Threads" to "CPUs (Threads)"
      Add glossary.tex to make dependencies
      Clarify definition of Linearizability.
      Self review of "Which to Choose" section
      Update formal-verification conclusion
      Wordsmith switching between quick-quiz questions and answers
      Akira review, part 1
      Akira feedback, part 2
      Change stray en-dash to hypen
      Update bibliography
      Convert author credits to \OriginallyPublished{}
      Move question about SRCU to follow the introduction of SRCU
      Fix outdated LWN article reference
      Fix Toy RCU section references
      Fix "can can" typo
      Remove extraneous dagger markings.
      Add plural to section range

SeongJae Park (30):
      FAQ: Fix wrong question reference
      Remove wraiths of 2up from FAQ and .gitignore
      FAQ: Remove duplicated prerequisite packages
      intro: Remove an unnecessary dot
      toolsoftrade: Fix a typo
      cpu: Rearrange summary of chapter
      toolsoftrade: Add missed closing parenthesis
      count: Fix typos
      count: Fix a word to fit in context
      whymb: s/write buffer/store buffer
      whymb: Fix trivial typos
      whymb: Remove ARM's short multi processor history description
      advsync: Fix trivial typos
      advsync: Fix critical section bleed-in description
      advsync: Fix wrong reference to section ``MMIO write barrier''
      advsync: Fix wrong code example
      advsync: Fix latex syntax related typos
      advsync: Use latex reference feature consistently
      advsync: Fix trivial typos
      SMPdesign: add missing tildes
      SMPdesign: keep consistent expression
      locking: Use consistent expressions
      locking: Fix typos
      FAQ: Replace deprecated manual font install path
      defer: Fix typos
      defer: Insert missing tildes
      defer/seqlock: Fix wrong line reference
      defer/refcnt: Add missing dot
      defer: Fix typos
      defer/seqlock: Fix wrong code line reference

 .gitignore                                         |   12 +-
 CodeSamples/Makefile.arch                          |    2 +-
 CodeSamples/SMPdesign/.gitignore                   |    1 +
 CodeSamples/SMPdesign/Makefile                     |    9 +-
 CodeSamples/SMPdesign/deqtorture.h                 |    6 +-
 CodeSamples/SMPdesign/lockdeq.c                    |    4 +-
 CodeSamples/SMPdesign/lockhdeq.c                   |    4 +-
 CodeSamples/SMPdesign/lockrwdeq.c                  |  154 +
 CodeSamples/SMPdesign/locktdeq.c                   |    8 +-
 CodeSamples/SMPdesign/matmul.c                     |    7 +-
 CodeSamples/SMPdesign/matmul.reduce.sh             |    4 +-
 CodeSamples/SMPdesign/matmul.sh                    |    4 +-
 CodeSamples/SMPdesign/matmul_block.c               |    7 +-
 CodeSamples/SMPdesign/maze/Makefile                |    4 +-
 CodeSamples/SMPdesign/maze/maze.c                  |    4 +-
 CodeSamples/SMPdesign/maze/maze.h                  |    4 +-
 CodeSamples/SMPdesign/maze/maze_2seq.c             |    4 +-
 CodeSamples/SMPdesign/maze/maze_fg.c               |    4 +-
 CodeSamples/SMPdesign/maze/maze_parallel.h         |    4 +-
 CodeSamples/SMPdesign/maze/maze_part.c             |    4 +-
 CodeSamples/SMPdesign/maze/maze_seq.c              |    4 +-
 CodeSamples/SMPdesign/smpalloc.c                   |    5 +-
 CodeSamples/SMPdesign/smpalloc.sh                  |    4 +-
 CodeSamples/advsync/Makefile                       |    4 +-
 CodeSamples/advsync/q.c                            |    4 +-
 CodeSamples/advsync/q.h                            |    4 +-
 CodeSamples/advsync/queuetorture.h                 |   12 +-
 CodeSamples/advsync/singleq.c                      |    4 +-
 CodeSamples/advsync/singleq.h                      |    4 +-
 CodeSamples/advsync/special/mbtest/arch.h          |    4 +-
 CodeSamples/advsync/special/mbtest/arch_ia64.h     |    4 +-
 CodeSamples/advsync/special/mbtest/arch_ppc.h      |    4 +-
 CodeSamples/advsync/special/mbtest/arch_x86.h      |    4 +-
 CodeSamples/advsync/special/mbtest/iriw.c          |    4 +-
 CodeSamples/advsync/special/mbtest/mb_lhs_ws.c     |    4 +-
 CodeSamples/advsync/special/mbtest/mb_s_lis_shl.c  |    4 +-
 CodeSamples/advsync/special/mbtest/mb_s_wbs_wbl.c  |    4 +-
 CodeSamples/advsync/special/mbtest/mb_s_whs_whl.c  |    4 +-
 CodeSamples/advsync/special/mbtest/mb_s_ws_whl.c   |    4 +-
 CodeSamples/advsync/special/mbtest/mb_sbl_sbl.c    |    4 +-
 CodeSamples/advsync/special/mbtest/mb_sbs_lbl.c    |    4 +-
 .../advsync/special/mbtest/mb_sbs_wbs_lbl.c        |    4 +-
 CodeSamples/advsync/special/mbtest/mb_sbs_ws_wbl.c |    4 +-
 CodeSamples/advsync/special/mbtest/mb_sbs_ws_wl.c  |    4 +-
 CodeSamples/advsync/special/mbtest/mb_ses_lil.c    |    4 +-
 CodeSamples/advsync/special/mbtest/mb_ses_wi_wbl.c |    4 +-
 CodeSamples/advsync/special/mbtest/mb_ses_wi_whl.c |    4 +-
 CodeSamples/advsync/special/mbtest/mb_ses_ws_wbl.c |    4 +-
 CodeSamples/advsync/special/mbtest/mb_ses_ws_whl.c |    4 +-
 CodeSamples/advsync/special/mbtest/mb_shs_lhl.c    |    4 +-
 .../advsync/special/mbtest/mb_shs_shs_lil_lil.c    |    4 +-
 CodeSamples/advsync/special/mbtest/mb_ss_ll.c      |    4 +-
 CodeSamples/advsync/special/mbtest/mbtest.h        |    4 +-
 CodeSamples/advsync/special/mbtest/run_mbtest.sh   |    4 +-
 CodeSamples/advsync/special/mbtest/sc_loadload.c   |    4 +-
 CodeSamples/advsync/special/mbtest/sc_storestore.c |    4 +-
 CodeSamples/advsync/special/mbtest/sctest3.c       |    4 +-
 CodeSamples/advsync/special/timewritecache.c       |    4 +-
 CodeSamples/advsync/special/writecacheflow.c       |    4 +-
 CodeSamples/advsync/special/writeflowgroup.sh      |    4 +-
 CodeSamples/advsync/special/writeflowtab.sh        |    4 +-
 CodeSamples/advsync/wfenqueue.c                    |    4 +-
 .../promela/dyntick/dyntickRCU-base-s.spin         |    4 +-
 .../promela/dyntick/dyntickRCU-base-sl-busted.spin |    4 +-
 .../promela/dyntick/dyntickRCU-base-sl.spin        |    4 +-
 .../analysis/promela/dyntick/dyntickRCU-base.spin  |    4 +-
 .../promela/dyntick/dyntickRCU-irq-nmi-ssl.spin    |    4 +-
 .../promela/dyntick/dyntickRCU-irq-ssl.spin        |    4 +-
 .../promela/dyntick/dyntickRCU-irqnn-ssl.spin      |    4 +-
 CodeSamples/analysis/promela/dyntick/runspin.sh    |    4 +-
 CodeSamples/api-pthreads/QAfter/time.c             |    4 +-
 CodeSamples/api-pthreads/QAfter/timelocked.c       |    4 +-
 CodeSamples/api-pthreads/api-pthreads.h            |   38 +-
 CodeSamples/api-pthreads/include/dgettimeofday.c   |    4 +-
 CodeSamples/api.h                                  |   62 +-
 CodeSamples/appendix/formal/dyntickRCU-base-s.spin |    4 +-
 .../appendix/formal/dyntickRCU-base-sl-busted.spin |    4 +-
 .../appendix/formal/dyntickRCU-base-sl.spin        |    4 +-
 CodeSamples/appendix/formal/dyntickRCU-base.spin   |    4 +-
 .../appendix/formal/dyntickRCU-irq-nmi-ssl.spin    |    4 +-
 .../appendix/formal/dyntickRCU-irq-ssl.spin        |    4 +-
 .../appendix/formal/dyntickRCU-irqnn-ssl.spin      |    4 +-
 CodeSamples/appendix/formal/runspin.sh             |    4 +-
 CodeSamples/appendix/rcuimpl/Makefile              |   12 +-
 CodeSamples/appendix/rcuimpl/README                |    4 +-
 CodeSamples/appendix/rcuimpl/extractconfig.sh      |    4 +-
 CodeSamples/appendix/rcuimpl/onoffrandtorture.sh   |    4 +-
 CodeSamples/arch-arm/arch-arm.h                    |    4 +-
 CodeSamples/arch-ppc64/Makefile.arch               |    2 +-
 CodeSamples/arch-ppc64/arch-ppc64.h                |   19 +-
 CodeSamples/arch-x86/Makefile.arch                 |    2 +-
 CodeSamples/arch-x86/arch-x86.h                    |   17 +-
 CodeSamples/count/Makefile                         |    4 +-
 CodeSamples/count/atomic.eps                       |    2 +-
 CodeSamples/count/atomic125.eps                    |    2 +-
 CodeSamples/count/count_atomic.c                   |    4 +-
 CodeSamples/count/count_end.c                      |    4 +-
 CodeSamples/count/count_end_rcu.c                  |    4 +-
 CodeSamples/count/count_lim.c                      |    4 +-
 CodeSamples/count/count_lim_app.c                  |    4 +-
 CodeSamples/count/count_lim_atomic.c               |    4 +-
 CodeSamples/count/count_lim_sig.c                  |    4 +-
 CodeSamples/count/count_limd.c                     |    4 +-
 CodeSamples/count/count_nonatomic.c                |    4 +-
 CodeSamples/count/count_stack.c                    |    4 +-
 CodeSamples/count/count_stat.c                     |    4 +-
 CodeSamples/count/count_stat_atomic.c              |    4 +-
 CodeSamples/count/count_stat_eventual.c            |    4 +-
 CodeSamples/count/count_tstat.c                    |    4 +-
 CodeSamples/count/counttorture.h                   |   11 +-
 CodeSamples/count/limtorture.h                     |    8 +-
 CodeSamples/count/perf.sh                          |    4 +-
 CodeSamples/count/plots.sh                         |   10 +-
 CodeSamples/count/reduce.sh                        |    4 +-
 CodeSamples/datastruct/Issaquah/.gitignore         |    3 +
 CodeSamples/datastruct/Issaquah/Makefile           |   41 +
 CodeSamples/datastruct/Issaquah/existence.c        |  332 +
 CodeSamples/datastruct/Issaquah/existence.h        |   69 +
 CodeSamples/datastruct/Issaquah/existence_test     |  Bin 0 -> 26359 bytes
 CodeSamples/datastruct/Issaquah/existence_test.c   |  113 +
 CodeSamples/datastruct/Issaquah/perf.sh            |   39 +
 CodeSamples/datastruct/Issaquah/plots.sh           |  106 +
 CodeSamples/datastruct/Issaquah/reduce.sh          |   63 +
 CodeSamples/datastruct/Issaquah/spinlockmult.c     |   67 +
 CodeSamples/datastruct/Issaquah/spinlockmult.h     |   27 +
 CodeSamples/datastruct/Issaquah/tree.c             |  927 +++
 CodeSamples/datastruct/Issaquah/tree.h             |   66 +
 CodeSamples/datastruct/Issaquah/treetorture.h      | 1374 ++++
 CodeSamples/datastruct/Issaquah/treetorturetrace.h |   80 +
 CodeSamples/datastruct/Makefile                    |   40 -
 CodeSamples/datastruct/hash/Makefile               |   40 +
 .../perf-resize.sh.2014.01.11b.out                 |    0
 .../perftestL.131072.2014.01.11b.dat               |    0
 .../perftestL.16384.2014.01.11b.dat                |    0
 .../perftestL.2048.2014.01.11b.dat                 |    0
 .../perftestR..2014.01.11b.dat                     |    0
 .../perftestR.131072.2014.01.11b.dat               |    0
 .../perftestR.16384.2014.01.11b.dat                |    0
 .../perftestR.2048.2014.01.11b.dat                 |    0
 .../perftestS.131072.2014.01.11b.dat               |    0
 .../perftestS.16384.2014.01.11b.dat                |    0
 .../perftestS.2048.2014.01.11b.dat                 |    0
 .../hash-resize.2014.01.11b/perftestresize.eps     |    2 +-
 .../data/hash.2013.12.02a/perf.sh.2013.12.02a.out  |    0
 .../{ => hash}/data/hash.2013.12.02a/perftest.eps  |    2 +-
 .../perftest.hash_bkt.2013.12.02a.dat              |    0
 .../perftest.hash_bkt_hazptr.2013.12.02a.dat       |    0
 .../perftest.hash_bkt_rcu.2013.12.02a.dat          |    0
 .../perftest.hash_global.2013.12.02a.dat           |    0
 .../data/hash.2013.12.02a/perftestlin.eps          |    2 +-
 .../zoo.cat.hash_bkt.2013.12.02a.dat               |    0
 .../zoo.cat.hash_bkt_hazptr.2013.12.02a.dat        |    0
 .../zoo.cat.hash_bkt_rcu.2013.12.02a.dat           |    0
 .../zoo.cat.hash_global.2013.12.02a.dat            |    0
 .../zoo.catall.hash_bkt.2013.12.02a.dat            |    0
 .../zoo.catall.hash_bkt_hazptr.2013.12.02a.dat     |    0
 .../zoo.catall.hash_bkt_rcu.2013.12.02a.dat        |    0
 .../zoo.catall.hash_global.2013.12.02a.dat         |    0
 .../zoo.cpus.hash_bkt-16384.2013.12.02a.dat        |    0
 .../zoo.cpus.hash_bkt-2048.2013.12.02a.dat         |    0
 .../zoo.cpus.hash_bkt-4096.2013.12.02a.dat         |    0
 .../zoo.cpus.hash_bkt-8192.2013.12.02a.dat         |    0
 .../zoo.cpus.hash_bkt.2013.12.02a.dat              |    0
 .../zoo.cpus.hash_bkt_hazptr-16384.2013.12.02a.dat |    0
 .../zoo.cpus.hash_bkt_hazptr-2048.2013.12.02a.dat  |    0
 .../zoo.cpus.hash_bkt_hazptr-4096.2013.12.02a.dat  |    0
 .../zoo.cpus.hash_bkt_hazptr-8192.2013.12.02a.dat  |    0
 .../zoo.cpus.hash_bkt_hazptr.2013.12.02a.dat       |    0
 .../zoo.cpus.hash_bkt_rcu-16384.2013.12.02a.dat    |    0
 .../zoo.cpus.hash_bkt_rcu-2048.2013.12.02a.dat     |    0
 .../zoo.cpus.hash_bkt_rcu-4096.2013.12.02a.dat     |    0
 .../zoo.cpus.hash_bkt_rcu-8192.2013.12.02a.dat     |    0
 .../zoo.cpus.hash_bkt_rcu.2013.12.02a.dat          |    0
 .../zoo.cpus.hash_global-16384.2013.12.02a.dat     |    0
 .../zoo.cpus.hash_global-2048.2013.12.02a.dat      |    0
 .../zoo.cpus.hash_global-4096.2013.12.02a.dat      |    0
 .../zoo.cpus.hash_global-8192.2013.12.02a.dat      |    0
 .../zoo.cpus.hash_global.2013.12.02a.dat           |    0
 .../zoo.mix.hash_bkt.2013.12.02a.out               |    0
 .../zoo.mix.hash_bkt_hazptr.2013.12.02a.out        |    0
 .../zoo.mix.hash_bkt_rcu.2013.12.02a.out           |    0
 .../zoo.mix.hash_global.2013.12.02a.out            |    0
 .../zoo.reads.hash_bkt.2013.12.02a.dat             |    0
 .../zoo.reads.hash_bkt_hazptr.2013.12.02a.dat      |    0
 .../zoo.reads.hash_bkt_rcu.2013.12.02a.dat         |    0
 .../zoo.reads.hash_global.2013.12.02a.dat          |    0
 .../zoo.upd.hash_bkt.2013.12.02a.dat               |    0
 .../zoo.upd.hash_bkt_hazptr.2013.12.02a.dat        |    0
 .../zoo.upd.hash_bkt_rcu.2013.12.02a.dat           |    0
 .../zoo.upd.hash_global.2013.12.02a.dat            |    0
 .../zoo.updates.hash_bkt.2013.12.02a.dat           |    0
 .../zoo.updates.hash_bkt_hazptr.2013.12.02a.dat    |    0
 .../zoo.updates.hash_bkt_rcu.2013.12.02a.dat       |    0
 .../zoo.updates.hash_global.2013.12.02a.dat        |    0
 .../zoo.updrd.hash_bkt.2013.12.02a.dat             |    0
 .../zoo.updrd.hash_bkt_hazptr.2013.12.02a.dat      |    0
 .../zoo.updrd.hash_bkt_rcu.2013.12.02a.dat         |    0
 .../zoo.updrd.hash_global.2013.12.02a.dat          |    0
 .../{ => hash}/data/hash.2013.12.02a/zoocatall.eps |    2 +-
 .../data/hash.2013.12.02a/zoocatalllin.eps         |    2 +-
 .../data/hash.2013.12.02a/zoocatonly.eps           |    2 +-
 .../data/hash.2013.12.02a/zoocatonlylin.eps        |    2 +-
 .../{ => hash}/data/hash.2013.12.02a/zoocpu.eps    |    2 +-
 .../data/hash.2013.12.02a/zoocpubktlin.eps         |    2 +-
 .../data/hash.2013.12.02a/zoocpubktlin8.eps        |    2 +-
 .../data/hash.2013.12.02a/zoocpubktsizelin.eps     |    2 +-
 .../{ => hash}/data/hash.2013.12.02a/zoocpulin.eps |    2 +-
 .../{ => hash}/data/hash.2013.12.02a/zooupdate.eps |    0
 .../data/hash.2013.12.02a/zooupdatelu.eps          |    0
 .../data/hash.2013.12.02a/zooupdatelulin.eps       |    0
 CodeSamples/datastruct/{ => hash}/hash_bkt.c       |   18 +-
 .../datastruct/{ => hash}/hash_bkt_hazptr.c        |   18 +-
 CodeSamples/datastruct/{ => hash}/hash_bkt_rcu.c   |   18 +-
 CodeSamples/datastruct/{ => hash}/hash_global.c    |   18 +-
 CodeSamples/datastruct/{ => hash}/hash_resize.c    |   12 +-
 CodeSamples/datastruct/{ => hash}/hashtorture.h    |   48 +-
 CodeSamples/datastruct/{ => hash}/perf-resize.sh   |    0
 CodeSamples/datastruct/{ => hash}/perf.sh          |    4 +-
 CodeSamples/datastruct/{ => hash}/plots-resize.sh  |    6 +-
 CodeSamples/datastruct/{ => hash}/plots.sh         |   26 +-
 CodeSamples/datastruct/{ => hash}/primes.mac       |    4 +-
 CodeSamples/datastruct/{ => hash}/reduce-resize.sh |    4 +-
 CodeSamples/datastruct/{ => hash}/reduce.sh        |    4 +-
 CodeSamples/debugging/plots.sh                     |    4 +-
 CodeSamples/defer/.gitignore                       |    7 +
 CodeSamples/defer/Makefile                         |   32 +-
 CodeSamples/defer/bug_rcu_dp.c                     |    6 +-
 CodeSamples/defer/bug_srcu_a.c                     |    4 +-
 CodeSamples/defer/data/paulmck.2016/cpuinfo        |  208 +
 .../defer/data/paulmck.2016/perf-hazptr.eps        | 2327 ++++++
 .../defer/data/paulmck.2016/perf-rcu-qsbr.eps      | 2558 +++++++
 CodeSamples/defer/data/paulmck.2016/perf-rcu.eps   | 2483 +++++++
 .../defer/data/paulmck.2016/perf-refcnt.eps        | 2249 ++++++
 .../defer/data/paulmck.2016/perf-seqlock.eps       | 2405 ++++++
 CodeSamples/defer/data/paulmck.2016/plots.sh       |  128 +
 .../route_hazptr.paulmck.2016.07.07a.dat           |    8 +
 .../route_hazptr.paulmck.2016.07.07a.raw           |    8 +
 .../route_hazptr.paulmck.2016.07.12a.dat           |    8 +
 .../route_hazptr.paulmck.2016.07.12a.raw           |    8 +
 .../paulmck.2016/route_rcu.paulmck.2016.07.07a.dat |    8 +
 .../paulmck.2016/route_rcu.paulmck.2016.07.07a.raw |    8 +
 .../paulmck.2016/route_rcu.paulmck.2016.07.12a.dat |    8 +
 .../paulmck.2016/route_rcu.paulmck.2016.07.12a.raw |    8 +
 .../route_rcu_qsbr.paulmck.2016.07.12a.dat         |    8 +
 .../route_rcu_qsbr.paulmck.2016.07.12a.raw         |    8 +
 .../route_refcnt.paulmck.2016.07.07a.dat           |    8 +
 .../route_refcnt.paulmck.2016.07.07a.raw           |    8 +
 .../route_refcnt.paulmck.2016.07.12a.dat           |    8 +
 .../route_refcnt.paulmck.2016.07.12a.raw           |    8 +
 .../paulmck.2016/route_seq.paulmck.2016.07.07a.dat |    8 +
 .../paulmck.2016/route_seq.paulmck.2016.07.07a.raw |    8 +
 .../paulmck.2016/route_seq.paulmck.2016.07.12a.dat |    8 +
 .../paulmck.2016/route_seq.paulmck.2016.07.12a.raw |    8 +
 .../route_seqlock.paulmck.2016.07.07a.dat          |    8 +
 .../route_seqlock.paulmck.2016.07.07a.raw          |    8 +
 .../route_seqlock.paulmck.2016.07.12a.dat          |    8 +
 .../route_seqlock.paulmck.2016.07.12a.raw          |    8 +
 CodeSamples/defer/fakekernrcu.c                    |    4 +-
 CodeSamples/defer/fakekernrcu.h                    |    4 +-
 CodeSamples/defer/gettimestamp.c                   |    4 +-
 CodeSamples/defer/gettimestampmp.c                 |    4 +-
 CodeSamples/defer/hazptr.c                         |    8 +-
 CodeSamples/defer/hazptr.h                         |    4 +-
 CodeSamples/defer/hazptrtorture.h                  |    9 +-
 CodeSamples/defer/perf-hazptr.eps                  | 2327 ++++++
 CodeSamples/defer/perf-rcu-qsbr.eps                | 2558 +++++++
 CodeSamples/defer/perf-rcu.eps                     | 2483 +++++++
 CodeSamples/defer/perf-refcnt.eps                  | 2249 ++++++
 CodeSamples/defer/perf-seqlock.eps                 | 2405 ++++++
 CodeSamples/defer/perf.sh                          |    4 +-
 CodeSamples/defer/perf_route.sh                    |   34 +
 CodeSamples/defer/ptxroute.c                       |  149 +
 CodeSamples/defer/rcu.c                            |    4 +-
 CodeSamples/defer/rcu.h                            |   10 +-
 CodeSamples/defer/rcu64.c                          |    4 +-
 CodeSamples/defer/rcu64.h                          |    6 +-
 CodeSamples/defer/rcu64_atomicgp.c                 |    4 +-
 CodeSamples/defer/rcu64_atomicgp.h                 |    6 +-
 CodeSamples/defer/rcu_lock.c                       |    4 +-
 CodeSamples/defer/rcu_lock.h                       |    4 +-
 CodeSamples/defer/rcu_lock_percpu.c                |    4 +-
 CodeSamples/defer/rcu_lock_percpu.h                |    4 +-
 CodeSamples/defer/rcu_nest.c                       |    4 +-
 CodeSamples/defer/rcu_nest.h                       |    8 +-
 CodeSamples/defer/rcu_nest32.c                     |    4 +-
 CodeSamples/defer/rcu_nest32.h                     |   14 +-
 CodeSamples/defer/rcu_nest_qs.c                    |    4 +-
 CodeSamples/defer/rcu_nest_qs.h                    |    6 +-
 CodeSamples/defer/rcu_pointer.h                    |    4 +-
 CodeSamples/defer/rcu_qs.c                         |    4 +-
 CodeSamples/defer/rcu_qs.h                         |    8 +-
 CodeSamples/defer/rcu_rcg.c                        |    4 +-
 CodeSamples/defer/rcu_rcg.h                        |    4 +-
 CodeSamples/defer/rcu_rcpg.c                       |    4 +-
 CodeSamples/defer/rcu_rcpg.h                       |    4 +-
 CodeSamples/defer/rcu_rcpl.c                       |    4 +-
 CodeSamples/defer/rcu_rcpl.h                       |    4 +-
 CodeSamples/defer/rcu_rcpls.c                      |    4 +-
 CodeSamples/defer/rcu_rcpls.h                      |    4 +-
 CodeSamples/defer/rcu_sig.c                        |    4 +-
 CodeSamples/defer/rcu_sig.h                        |    6 +-
 CodeSamples/defer/rcu_ts.c                         |    4 +-
 CodeSamples/defer/rcu_ts.h                         |    6 +-
 CodeSamples/defer/rcutorture.h                     |    7 +-
 CodeSamples/defer/reduce_route.sh                  |   96 +
 CodeSamples/defer/route_hazptr.c                   |  164 +
 CodeSamples/defer/route_rcu.c                      |  147 +
 CodeSamples/defer/route_refcnt.c                   |  157 +
 CodeSamples/defer/route_seq.c                      |  106 +
 CodeSamples/defer/route_seqlock.c                  |  142 +
 CodeSamples/defer/routetorture.h                   |  422 ++
 CodeSamples/defer/seqlock.h                        |   24 +-
 CodeSamples/defer/seqlocktorture.c                 |    5 +-
 CodeSamples/defer/seqperf.sh                       |    4 +-
 CodeSamples/defer/srcu.c                           |    4 +-
 CodeSamples/defer/srcu.h                           |    4 +-
 CodeSamples/future/HTMovf.c                        |    5 +-
 CodeSamples/future/HTMovfMC.c                      |    4 +-
 CodeSamples/future/HTMovfMCNK.bash                 |    4 +-
 CodeSamples/future/HTMovfNK.bash                   |    4 +-
 CodeSamples/future/Makefile                        |    8 +-
 CodeSamples/future/plots.sh                        |    4 +-
 CodeSamples/intro/Makefile                         |   19 +-
 CodeSamples/intro/initrace.c                       |    4 +-
 CodeSamples/intro/initraceperf.c                   |    4 +-
 CodeSamples/intro/lockinc.c                        |    4 +-
 CodeSamples/intro/nakedinc.c                       |    4 +-
 CodeSamples/intro/perthreadinc.c                   |    4 +-
 CodeSamples/intro/threadcreate.c                   |    6 +-
 CodeSamples/lib/random.c                           |   80 +
 CodeSamples/lib/random.h                           |   30 +
 CodeSamples/linux/common.h                         |    7 +-
 CodeSamples/locking/Makefile                       |   12 +
 CodeSamples/locking/bakery.c                       |    4 +-
 CodeSamples/locking/locked_list.c                  |   33 +-
 CodeSamples/locking/xchglock.c                     |    6 +-
 CodeSamples/toolsoftrade/Makefile                  |    4 +-
 CodeSamples/toolsoftrade/forkexec.sh               |    4 +-
 CodeSamples/toolsoftrade/forkjoin.c                |    4 +-
 CodeSamples/toolsoftrade/forkjoinperf.c            |   11 +-
 CodeSamples/toolsoftrade/forkjoinvar.c             |    4 +-
 CodeSamples/toolsoftrade/lock.c                    |    5 +-
 CodeSamples/toolsoftrade/mytrue.c                  |    4 +-
 CodeSamples/toolsoftrade/parallel.sh               |    4 +-
 CodeSamples/toolsoftrade/pcreate.c                 |    5 +-
 CodeSamples/toolsoftrade/plots.sh                  |    4 +-
 CodeSamples/toolsoftrade/rwlockscale.c             |    5 +-
 CodeSamples/toolsoftrade/rwlockscale.sh            |    4 +-
 CodeSamples/toolsoftrade/rwlockscalereduce.sh      |    4 +-
 FAQ-BUILD.txt                                      |   80 +
 FAQ.txt                                            |   88 +-
 Makefile                                           |  317 +-
 SMPdesign/SMPdesign.tex                            |  172 +-
 SMPdesign/beyond.tex                               |   80 +-
 SMPdesign/criteria.tex                             |    1 +
 SMPdesign/lockdeq.fig                              |  219 -
 SMPdesign/matmuleff.eps                            |    2 +-
 SMPdesign/partexercises.tex                        |   79 +-
 SMPdesign/plots.sh                                 |    8 +-
 SMPdesign/synceff.eps                              |    2 +-
 advsync/.gitignore                                 |    1 +
 advsync/.unused/MoreThanOneValue-15CPU-noresp.eps  | 1306 ++++
 advsync/.unused/MoreThanOneValue-15CPU-noresp.fig  |  489 ++
 advsync/MoreThanOneValue-15CPU.eps                 | 1306 ++++
 advsync/MoreThanOneValue-15CPU.fig                 |  489 ++
 advsync/MoreThanOneValue-15CPU.input               |   27 +
 advsync/advsync.tex                                |   59 +-
 advsync/memorybarriers.tex                         |  324 +-
 advsync/rcu.tex                                    |   60 +-
 advsync/store15tred.dot                            |   18 +
 appendix/ack/ack.tex                               |    9 +-
 appendix/appendix.tex                              |    1 +
 appendix/primitives/primitives.tex                 |   56 +-
 appendix/questions/after.tex                       |   45 +-
 appendix/questions/concurrentparallel.tex          |    7 +-
 appendix/questions/questions.tex                   |    6 +-
 appendix/questions/time.tex                        |    6 +-
 appendix/rcuhist/RCUinLinux.tex                    |   10 +-
 .../rcuimpl/{ => .unused}/RCUpreemptCounters.fig   |    0
 appendix/rcuimpl/rcu.tex                           |    1 +
 appendix/rcuimpl/rcupreempt.tex                    |   32 +-
 appendix/rcuimpl/rcutree.tex                       |   27 +-
 appendix/rcuimpl/rcutreewt.tex                     |   12 +-
 appendix/rcuimpl/srcu.tex                          |   51 +-
 appendix/whymb/whymemorybarriers.tex               |  323 +-
 bib/RCU.bib                                        |  326 +-
 bib/TM.bib                                         |   40 +
 bib/WFS.bib                                        |   16 +
 bib/hw.bib                                         |   38 +-
 bib/os.bib                                         |   38 +-
 bib/swtools.bib                                    |   62 +
 bib/syncrefs.bib                                   |   26 +
 cartoons/{ => .unused}/patterns.fig                |    0
 cartoons/{ => .unused}/patterns.svg                |    0
 contrib.tex                                        |   17 +-
 count/.gitignore                                   |    1 +
 count/FourTaskOrderOpt.svg                         |  427 ++
 count/count.tex                                    |  376 +-
 count/sig-theft.dot                                |   17 +-
 count/sig-theft.eps                                |  457 --
 cpu/cpu.tex                                        |   19 +-
 cpu/hwfreelunch.tex                                |   70 +-
 cpu/overheads.tex                                  |   65 +-
 cpu/overview.tex                                   |   28 +-
 cpu/swdesign.tex                                   |   36 +-
 datastruct/datastruct.tex                          |  239 +-
 datastruct/perftest.eps                            |    2 +-
 datastruct/perftestlin.eps                         |    2 +-
 datastruct/perftestresize.eps                      |    2 +-
 datastruct/zoocatall.eps                           |    2 +-
 datastruct/zoocatalllin.eps                        |    2 +-
 datastruct/zoocatonly.eps                          |    2 +-
 datastruct/zoocatonlylin.eps                       |    2 +-
 datastruct/zoocpu.eps                              |    2 +-
 datastruct/zoocpubktlin.eps                        |    2 +-
 datastruct/zoocpubktlin8.eps                       |    2 +-
 datastruct/zoocpubktsizelin.eps                    |    2 +-
 datastruct/zoocpulin.eps                           |    2 +-
 debugging/debugging.tex                            |  269 +-
 defer/RCUListInsertClassic.eps                     |  287 -
 defer/RCUListInsertClassic.fig                     |   93 -
 defer/RCUListInsertClassic.svg                     |  416 ++
 defer/RouteList.svg                                |  258 +
 defer/defer.tex                                    |  143 +-
 defer/hazptr.tex                                   |  365 +
 defer/rcu.tex                                      |    1 +
 defer/rcuapi.tex                                   |  248 +-
 defer/rcuexercises.tex                             |    3 +-
 defer/rcufundamental.tex                           |  116 +-
 defer/rcuintro.tex                                 |   64 +-
 defer/rcuusage.tex                                 |  305 +-
 defer/refcnt.tex                                   | 1054 +--
 defer/seqlock.tex                                  |  414 +-
 defer/toyrcu.tex                                   |  227 +-
 defer/updates.tex                                  |    5 +-
 defer/whichtochoose.tex                            |  276 +-
 easy/easy.tex                                      |   21 +-
 formal/axiomatic.tex                               |   20 +-
 formal/dyntickrcu.tex                              |  105 +-
 formal/formal.tex                                  |   39 +-
 formal/ppcmem.tex                                  |   35 +-
 formal/sat.tex                                     |    3 +-
 formal/spinhint.tex                                |  164 +-
 future/HTMtable.tex                                |    7 +-
 future/HTMtableRCU.tex                             |    8 +-
 future/cpu.tex                                     |   29 +-
 future/future.tex                                  |   10 +-
 future/htm.tex                                     |   56 +-
 future/tm.tex                                      |   54 +-
 glossary.tex                                       |   14 +-
 howto/howto.tex                                    |   42 +-
 intro/intro.tex                                    |   99 +-
 legal.tex                                          |    3 +-
 locking/locking-existence.tex                      |   16 +-
 locking/locking.tex                                |  155 +-
 memalloc/memalloc.tex                              |    1 +
 origpub.tex                                        |    1 +
 owned/owned.tex                                    |   16 +-
 perfbook-1c.bbl                                    | 2103 ------
 perfbook-hb.bbl                                    | 1949 -----
 perfbook.bbl                                       | 2103 ------
 perfbook.tex                                       |   30 +-
 qqz.sty                                            |   72 +-
 qqz.tex                                            | 7627 --------------------
 rt/rt.tex                                          |  331 +-
 todo.txt                                           |  138 +-
 together/applyrcu.tex                              |   56 +-
 together/count.tex                                 |    5 +-
 together/hash.tex                                  |    9 +-
 together/refcnt.tex                                |  675 ++
 together/together.tex                              |    9 +
 toolsoftrade/toolsoftrade.tex                      |  125 +-
 utilities/MoreThanOneValue-15CPU.c                 |  280 +
 utilities/c2qqz.sh                                 |    4 +-
 utilities/cleanpdf.sh                              |    4 +-
 utilities/datablows.sh                             |    4 +-
 utilities/eps2pdf.sh                               |   16 +-
 utilities/extractcontrib.sh                        |    4 +-
 utilities/extractorigpub.sh                        |    4 +-
 utilities/extractqqz.c                             |    4 +-
 utilities/extractqqz.sh                            |    6 +-
 utilities/fixanepsfonts.sh                         |    4 +-
 utilities/fixdotfonts.sh                           |    4 +-
 utilities/fixfigfonts.sh                           |    4 +-
 utilities/fixfonts.sh                              |    4 +-
 utilities/gitextractcontrib.sh                     |    4 +-
 utilities/prep4html.sh                             |    4 +-
 utilities/qqz2c.sh                                 |    4 +-
 utilities/runfirstlatex.sh                         |   46 +
 utilities/runlatex.sh                              |  100 +-
 utilities/sortdata.sh                              |    4 +-
 491 files changed, 41076 insertions(+), 19081 deletions(-)
 create mode 100644 CodeSamples/SMPdesign/lockrwdeq.c
 create mode 100644 CodeSamples/datastruct/Issaquah/.gitignore
 create mode 100644 CodeSamples/datastruct/Issaquah/Makefile
 create mode 100644 CodeSamples/datastruct/Issaquah/existence.c
 create mode 100644 CodeSamples/datastruct/Issaquah/existence.h
 create mode 100755 CodeSamples/datastruct/Issaquah/existence_test
 create mode 100644 CodeSamples/datastruct/Issaquah/existence_test.c
 create mode 100644 CodeSamples/datastruct/Issaquah/perf.sh
 create mode 100644 CodeSamples/datastruct/Issaquah/plots.sh
 create mode 100644 CodeSamples/datastruct/Issaquah/reduce.sh
 create mode 100644 CodeSamples/datastruct/Issaquah/spinlockmult.c
 create mode 100644 CodeSamples/datastruct/Issaquah/spinlockmult.h
 create mode 100644 CodeSamples/datastruct/Issaquah/tree.c
 create mode 100644 CodeSamples/datastruct/Issaquah/tree.h
 create mode 100644 CodeSamples/datastruct/Issaquah/treetorture.h
 create mode 100644 CodeSamples/datastruct/Issaquah/treetorturetrace.h
 delete mode 100644 CodeSamples/datastruct/Makefile
 create mode 100644 CodeSamples/datastruct/hash/Makefile
 rename CodeSamples/datastruct/{ => hash}/data/hash-resize.2014.01.11b/perf-resize.sh.2014.01.11b.out (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash-resize.2014.01.11b/perftestL.131072.2014.01.11b.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash-resize.2014.01.11b/perftestL.16384.2014.01.11b.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash-resize.2014.01.11b/perftestL.2048.2014.01.11b.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash-resize.2014.01.11b/perftestR..2014.01.11b.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash-resize.2014.01.11b/perftestR.131072.2014.01.11b.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash-resize.2014.01.11b/perftestR.16384.2014.01.11b.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash-resize.2014.01.11b/perftestR.2048.2014.01.11b.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash-resize.2014.01.11b/perftestS.131072.2014.01.11b.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash-resize.2014.01.11b/perftestS.16384.2014.01.11b.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash-resize.2014.01.11b/perftestS.2048.2014.01.11b.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash-resize.2014.01.11b/perftestresize.eps (99%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/perf.sh.2013.12.02a.out (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/perftest.eps (99%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/perftest.hash_bkt.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/perftest.hash_bkt_hazptr.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/perftest.hash_bkt_rcu.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/perftest.hash_global.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/perftestlin.eps (99%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cat.hash_bkt.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cat.hash_bkt_hazptr.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cat.hash_bkt_rcu.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cat.hash_global.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.catall.hash_bkt.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.catall.hash_bkt_hazptr.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.catall.hash_bkt_rcu.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.catall.hash_global.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cpus.hash_bkt-16384.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cpus.hash_bkt-2048.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cpus.hash_bkt-4096.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cpus.hash_bkt-8192.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cpus.hash_bkt.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cpus.hash_bkt_hazptr-16384.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cpus.hash_bkt_hazptr-2048.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cpus.hash_bkt_hazptr-4096.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cpus.hash_bkt_hazptr-8192.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cpus.hash_bkt_hazptr.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cpus.hash_bkt_rcu-16384.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cpus.hash_bkt_rcu-2048.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cpus.hash_bkt_rcu-4096.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cpus.hash_bkt_rcu-8192.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cpus.hash_bkt_rcu.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cpus.hash_global-16384.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cpus.hash_global-2048.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cpus.hash_global-4096.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cpus.hash_global-8192.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.cpus.hash_global.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.mix.hash_bkt.2013.12.02a.out (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.mix.hash_bkt_hazptr.2013.12.02a.out (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.mix.hash_bkt_rcu.2013.12.02a.out (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.mix.hash_global.2013.12.02a.out (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.reads.hash_bkt.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.reads.hash_bkt_hazptr.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.reads.hash_bkt_rcu.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.reads.hash_global.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.upd.hash_bkt.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.upd.hash_bkt_hazptr.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.upd.hash_bkt_rcu.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.upd.hash_global.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.updates.hash_bkt.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.updates.hash_bkt_hazptr.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.updates.hash_bkt_rcu.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.updates.hash_global.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.updrd.hash_bkt.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.updrd.hash_bkt_hazptr.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.updrd.hash_bkt_rcu.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoo.updrd.hash_global.2013.12.02a.dat (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoocatall.eps (99%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoocatalllin.eps (99%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoocatonly.eps (99%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoocatonlylin.eps (99%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoocpu.eps (99%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoocpubktlin.eps (99%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoocpubktlin8.eps (99%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoocpubktsizelin.eps (99%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zoocpulin.eps (99%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zooupdate.eps (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zooupdatelu.eps (100%)
 rename CodeSamples/datastruct/{ => hash}/data/hash.2013.12.02a/zooupdatelulin.eps (100%)
 rename CodeSamples/datastruct/{ => hash}/hash_bkt.c (90%)
 rename CodeSamples/datastruct/{ => hash}/hash_bkt_hazptr.c (93%)
 rename CodeSamples/datastruct/{ => hash}/hash_bkt_rcu.c (91%)
 rename CodeSamples/datastruct/{ => hash}/hash_global.c (90%)
 rename CodeSamples/datastruct/{ => hash}/hash_resize.c (96%)
 rename CodeSamples/datastruct/{ => hash}/hashtorture.h (97%)
 rename CodeSamples/datastruct/{ => hash}/perf-resize.sh (100%)
 rename CodeSamples/datastruct/{ => hash}/perf.sh (95%)
 rename CodeSamples/datastruct/{ => hash}/plots-resize.sh (91%)
 rename CodeSamples/datastruct/{ => hash}/plots.sh (94%)
 rename CodeSamples/datastruct/{ => hash}/primes.mac (86%)
 rename CodeSamples/datastruct/{ => hash}/reduce-resize.sh (93%)
 rename CodeSamples/datastruct/{ => hash}/reduce.sh (95%)
 create mode 100644 CodeSamples/defer/data/paulmck.2016/cpuinfo
 create mode 100644 CodeSamples/defer/data/paulmck.2016/perf-hazptr.eps
 create mode 100644 CodeSamples/defer/data/paulmck.2016/perf-rcu-qsbr.eps
 create mode 100644 CodeSamples/defer/data/paulmck.2016/perf-rcu.eps
 create mode 100644 CodeSamples/defer/data/paulmck.2016/perf-refcnt.eps
 create mode 100644 CodeSamples/defer/data/paulmck.2016/perf-seqlock.eps
 create mode 100644 CodeSamples/defer/data/paulmck.2016/plots.sh
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_hazptr.paulmck.2016.07.07a.dat
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_hazptr.paulmck.2016.07.07a.raw
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_hazptr.paulmck.2016.07.12a.dat
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_hazptr.paulmck.2016.07.12a.raw
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_rcu.paulmck.2016.07.07a.dat
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_rcu.paulmck.2016.07.07a.raw
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_rcu.paulmck.2016.07.12a.dat
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_rcu.paulmck.2016.07.12a.raw
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_rcu_qsbr.paulmck.2016.07.12a.dat
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_rcu_qsbr.paulmck.2016.07.12a.raw
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_refcnt.paulmck.2016.07.07a.dat
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_refcnt.paulmck.2016.07.07a.raw
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_refcnt.paulmck.2016.07.12a.dat
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_refcnt.paulmck.2016.07.12a.raw
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_seq.paulmck.2016.07.07a.dat
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_seq.paulmck.2016.07.07a.raw
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_seq.paulmck.2016.07.12a.dat
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_seq.paulmck.2016.07.12a.raw
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_seqlock.paulmck.2016.07.07a.dat
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_seqlock.paulmck.2016.07.07a.raw
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_seqlock.paulmck.2016.07.12a.dat
 create mode 100644 CodeSamples/defer/data/paulmck.2016/route_seqlock.paulmck.2016.07.12a.raw
 create mode 100644 CodeSamples/defer/perf-hazptr.eps
 create mode 100644 CodeSamples/defer/perf-rcu-qsbr.eps
 create mode 100644 CodeSamples/defer/perf-rcu.eps
 create mode 100644 CodeSamples/defer/perf-refcnt.eps
 create mode 100644 CodeSamples/defer/perf-seqlock.eps
 create mode 100644 CodeSamples/defer/perf_route.sh
 create mode 100644 CodeSamples/defer/ptxroute.c
 create mode 100644 CodeSamples/defer/reduce_route.sh
 create mode 100644 CodeSamples/defer/route_hazptr.c
 create mode 100644 CodeSamples/defer/route_rcu.c
 create mode 100644 CodeSamples/defer/route_refcnt.c
 create mode 100644 CodeSamples/defer/route_seq.c
 create mode 100644 CodeSamples/defer/route_seqlock.c
 create mode 100644 CodeSamples/defer/routetorture.h
 create mode 100644 CodeSamples/lib/random.c
 create mode 100644 CodeSamples/lib/random.h
 create mode 100644 CodeSamples/locking/Makefile
 create mode 100644 FAQ-BUILD.txt
 delete mode 100644 SMPdesign/lockdeq.fig
 create mode 100644 advsync/.gitignore
 create mode 100644 advsync/.unused/MoreThanOneValue-15CPU-noresp.eps
 create mode 100644 advsync/.unused/MoreThanOneValue-15CPU-noresp.fig
 create mode 100644 advsync/MoreThanOneValue-15CPU.eps
 create mode 100644 advsync/MoreThanOneValue-15CPU.fig
 create mode 100644 advsync/MoreThanOneValue-15CPU.input
 create mode 100644 advsync/store15tred.dot
 rename appendix/rcuimpl/{ => .unused}/RCUpreemptCounters.fig (100%)
 rename cartoons/{ => .unused}/patterns.fig (100%)
 rename cartoons/{ => .unused}/patterns.svg (100%)
 create mode 100644 count/.gitignore
 create mode 100644 count/FourTaskOrderOpt.svg
 delete mode 100644 count/sig-theft.eps
 delete mode 100644 defer/RCUListInsertClassic.eps
 delete mode 100644 defer/RCUListInsertClassic.fig
 create mode 100644 defer/RCUListInsertClassic.svg
 create mode 100644 defer/RouteList.svg
 create mode 100644 defer/hazptr.tex
 delete mode 100644 perfbook-1c.bbl
 delete mode 100644 perfbook-hb.bbl
 delete mode 100644 perfbook.bbl
 delete mode 100644 qqz.tex
 create mode 100644 together/refcnt.tex
 create mode 100644 utilities/MoreThanOneValue-15CPU.c
 create mode 100644 utilities/runfirstlatex.sh