Kornilios Kourtis (1):
      fix node label in defer/RCUReplacement.fig

Namhyung Kim (7):
      Get rid of a duplicate 'which'
      Fix unmatched closing parentheses
      Typo: call_rcu -> __call_rcu
      Typo: shown -> show
      Typo: Line 4 -> Line 3
      Typo: lead -> leaf
      Typo: rcu_read_lock -> _unlock

Paul E. McKenney (89):
      Bibliography update incorporated.
      Add Michel Dagenais feedback to todo list.
      count: Faster eventually-consistent statistical counter
      count: Update text to match new count_stat_eventual.c
      count: Note that non-atomic access requires alignment/size constraints
      Call out one reason for atomics in eventually consistent counters
      Fix author name for textbook
      "until is returns" -> "until it returns"
      Fix description of simple counter add/subtract/read
      Add quick quiz for limit-counter countermax/2 transfer.
      Fix typos in Quick Quizzes in the intro.
      Fix Quick Quiz 4.37: s/line 20/line 21/
      Fix line numbers for flush_local_count_sig() description
      Grammar: s/not/note/, s/However/Unfortunately/
      Grammar: s/those how/those who/
      Fix typo in data-locking algorithm and fix chapter reference
      Change "reasonable" to "straightforward" in OO locking QQ
      Expand on Doug Lea's livelock workaround.
      Fix typos in QQ 6.22.
      Interchange sentences in QQ 6.17
      More grammar fixes.
      Grammatical improvement.
      Updates based on Ryan Molden review.
      Refer to POSIX in reader/writer-locking discussion
      Refer to POSIX in reader/writer-locking discussion
      Merge branch 'rfabbri.2012.09.25b'
      Fix counttorture usage message.
      Cleanups in Counting chapter.
      Improve introduction to limit counters
      Clarify explanation of balance_count().
      Create schematic to illustrate globalize_count() and balance_count().
      Add Quick Quiz noting approximation of zero
      More changes from review of Counting chapter.
      Fix arrows on limit-count diagram
      Add "FIFO is not FIFO" citation
      Add TR version of Christoph Kirsch's k-FIFO paper.
      Add footnote citing Nir Shavit's relaxed concurrent stacks
      Update Introduction based on self-review.
      Changes from self-review of hardware and its habits chapter
      Add footnote calling out partitioned counters when feasible
      Add citation to Maged Michael's CAS-based dequeue paper
      Better explanation of Poisson-distribution derivation
      Add minimal read-only victim cache to HTM discussion
      Improve roadmap at end of counting chapter.
      Update todo list.
      Update todo list.
      Update of Chapter 3 based on self-review.
      Review and update validiaton chapter.
      Update todo list yet again.
      Update SMPdesign paper from self-review.
      Apply SMPdesign QQ self-review changes.
      Performance/scalability consequenses of poor abstraction choices
      Expand transition out of Chapter 2.
      Add citation to SNZI to QQ answer in counting chapter.
      Rework deferral intro.
      Fill in pointer from QQ to chapter 9.
      Make CPU future quotes less jarring.
      Update transactional-memory section.
      Add some levity to the debugging chapter.
      Move time section to questions appendix.
      Add Melissa's cartoon to count chapter.
      Remove blot accidentally gimped into counting cartoon
      Comment on the usefulness of linearization points
      Incorporate data/light cartoon.
      Add new dining philosophers cartoon.
      Added the stress-test-passed-or-not cartoon.
      Adjust maiden name to married name.
      Propagate maiden-to-married transition to credits
      Add eventually-consistent count to perf.sh
      Update reduce.sh to allow alternative statistics to be applied.
      Add some data-reduction utility scripts
      Add new data for counting-algorithm performance
      Update based on new counting-algorithm performance data
      Wording changes surrounding the Columbia River.
      Add discussion of rejection of interference for performance measurement
      Self-review changes to the locking chapter.
      Self-review updates on data-ownership chapter
      Tournament-win quick quiz.
      Apply self-review changes for validation chapter.
      Add locking quick quiz on tournament vs. conditional locking
      Add hash tables using global lock, per-bucket lock, and RCU.
      Avoid redefining symbols defined in libraries.
      Upgrade hashing smoke test.
      Fix conflict between api.h and glibc.
      Add hash-table performance tests.
      Add note to self about reference count software engineering issues
      Add per-bucket-spinlock hash table verbiage
      Add hash fastpath to RCU and globally locked hash tables.
      More additions to data-structure chapter

Ricardo Fabbri (9):
      Removed spurious "While"
      Missing 'd' letter
      Removed spurious parenthesis
      Referencing lockhdeq.c
      Added missing plural "s"
      Removed dup 'code'
      Fixed broken sentences
      Tiny spelling mistake "left" -> "leave"
      'but' makes no sense here

Yuchen Dai (1):
      Fix typo: y=1 -> x=1

 CodeSamples/api-pthreads/api-pthreads.h            |   15 +-
 CodeSamples/api.h                                  |   15 +-
 CodeSamples/count/count_stat_eventual.c            |   12 +-
 CodeSamples/count/counttorture.h                   |    4 +-
 .../count_atomic:r.p6ihhpc7.2012.12.30b.raw        |    2 +
 .../count_atomic:u.p6ihhpc7.2012.12.30b.raw        |    2 +
 .../count_end:r.p6ihhpc7.2012.12.30b.raw           |    2 +
 .../count_end:u.p6ihhpc7.2012.12.30b.raw           |    2 +
 .../count_end_rcu:r.p6ihhpc7.2012.12.30b.raw       |    2 +
 .../count_end_rcu:u.p6ihhpc7.2012.12.30b.raw       |    2 +
 .../count_lim:r.p6ihhpc7.2012.12.30b.raw           |    2 +
 .../count_lim:u.p6ihhpc7.2012.12.30b.raw           |    2 +
 .../count_lim_app:r.p6ihhpc7.2012.12.30b.raw       |    2 +
 .../count_lim_app:u.p6ihhpc7.2012.12.30b.raw       |    2 +
 .../count_lim_atomic:r.p6ihhpc7.2012.12.30b.raw    |    2 +
 .../count_lim_atomic:u.p6ihhpc7.2012.12.30b.raw    |    2 +
 .../count_lim_sig:r.p6ihhpc7.2012.12.30b.raw       |    2 +
 .../count_lim_sig:u.p6ihhpc7.2012.12.30b.raw       |    2 +
 .../count_limd:r.p6ihhpc7.2012.12.30b.raw          |    2 +
 .../count_limd:u.p6ihhpc7.2012.12.30b.raw          |    2 +
 .../count_nonatomic:r.p6ihhpc7.2012.12.30b.raw     |    2 +
 .../count_nonatomic:u.p6ihhpc7.2012.12.30b.raw     |    2 +
 .../count_stat:r.p6ihhpc7.2012.12.30b.raw          |    2 +
 .../count_stat:u.p6ihhpc7.2012.12.30b.raw          |    2 +
 .../count_stat_atomic:r.p6ihhpc7.2012.12.30b.raw   |    2 +
 .../count_stat_atomic:u.p6ihhpc7.2012.12.30b.raw   |    2 +
 .../count_stat_eventual:r.p6ihhpc7.2012.12.30b.raw |    2 +
 .../count_stat_eventual:u.p6ihhpc7.2012.12.30b.raw |    2 +
 CodeSamples/count/perf.sh                          |    2 +-
 CodeSamples/count/reduce.sh                        |   19 +-
 CodeSamples/datastruct/.gitignore                  |    3 +
 CodeSamples/datastruct/Makefile                    |   33 +
 CodeSamples/datastruct/hash_bkt.c                  |  151 +
 CodeSamples/datastruct/hash_bkt_rcu.c              |  157 +
 CodeSamples/datastruct/hash_global.c               |  150 +
 CodeSamples/datastruct/hashtorture.h               |  896 +
 CodeSamples/datastruct/primes.mac                  |   27 +
 Makefile                                           |    6 +-
 SMPdesign/ParallelFastpath.eps                     |   80 +-
 SMPdesign/ParallelFastpath.fig                     |   52 +-
 SMPdesign/SMPdesign.tex                            |  100 +-
 SMPdesign/criteria.tex                             |   63 +-
 SMPdesign/lockdeqhash.eps                          |   93 +-
 SMPdesign/lockdeqhash.fig                          |   86 +-
 SMPdesign/lockdeqhash1R.eps                        |  355 +-
 SMPdesign/lockdeqhash1R.fig                        |  232 +-
 SMPdesign/partexercises.tex                        |  128 +-
 appendix/questions/questions.tex                   |    1 +
 appendix/questions/time.tex                        |   55 +
 appendix/rcuimpl/rcupreempt.tex                    |    2 +-
 appendix/rcuimpl/rcutree.tex                       |    2 +-
 appendix/rcuimpl/rcutreewt.tex                     |   20 +-
 cartoons/Data-chasing-light-wave.eps               |50651 ++++++++++++++
 cartoons/Dining-philosophers.eps                   |22487 ++++++
 cartoons/One-one-thousand.eps                      | 3527 +
 cartoons/Passed-the-stress-test.eps                |29167 ++++++++
 cartoons/TM-the-reality-conflict.eps               |24709 +++++++
 cartoons/TM-the-reality-nonidempotent.eps          |20019 ++++++
 cartoons/TM-the-reality-realtime.eps               |22362 ++++++
 cartoons/TM-the-vision.eps                         |29414 ++++++++
 cartoons/TortureLaptop.eps                         |30618 +++++++++
 cartoons/TortureTux.eps                            |40730 +++++++++++
 cartoons/UseTheRightCannon.eps                     |72180 ++++++++++++++++++++
 cartoons/WhatTimeIsIt.eps                          |16680 +++++
 contrib.tex                                        |   12 +
 count/count.tex                                    |  822 +-
 count/globbal.eps                                  |  331 +
 count/globbal.fig                                  |  117 +
 cpu/cpu.tex                                        |    7 +
 cpu/hwfreelunch.tex                                |   16 +-
 cpu/overheads.tex                                  |   26 +-
 cpu/overview.tex                                   |   37 +-
 cpu/swdesign.tex                                   |   15 +-
 datastruct/datastruct.tex                          |  508 +-
 datastruct/hashdiagram.eps                         |  301 +
 datastruct/hashdiagram.fig                         |   76 +
 debugging/debugging.tex                            |  645 +-
 defer/RCUReplacement.eps                           |    8 +-
 defer/RCUReplacement.fig                           |   66 +-
 defer/defer.tex                                    |   10 +-
 defer/rcuexercises.tex                             |    6 +
 defer/refcnt.tex                                   |   81 +-
 defer/seqlock.tex                                  |   21 +-
 future/cpu.tex                                     |   13 +-
 future/htm.tex                                     |    6 +
 future/tm.tex                                      |   48 +
 intro/intro.tex                                    |   99 +-
 locking/locking-existence.tex                      |    4 +-
 locking/locking.tex                                |  332 +-
 locking/rnplock.eps                                |  305 +
 locking/rnplock.fig                                |   62 +
 owned/owned.tex                                    |   17 +-
 perfbook-1c.bbl                                    |  179 +-
 perfbook.bbl                                       |  179 +-
 perfbook.tex                                       |    1 -
 qqz.tex                                            |  802 +-
 time/time.tex                                      |   16 -
 todo.txt                                           |   34 +-
 toolsoftrade/toolsoftrade.tex                      |   11 +-
 utilities/datablows.sh                             |   88 +
 utilities/sortdata.sh                              |   33 +
 101 files changed, 369442 insertions(+), 1243 deletions(-)
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_atomic:r.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_atomic:u.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_end:r.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_end:u.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_end_rcu:r.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_end_rcu:u.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_lim:r.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_lim:u.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_lim_app:r.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_lim_app:u.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_lim_atomic:r.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_lim_atomic:u.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_lim_sig:r.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_lim_sig:u.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_limd:r.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_limd:u.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_nonatomic:r.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_nonatomic:u.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_stat:r.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_stat:u.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_stat_atomic:r.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_stat_atomic:u.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_stat_eventual:r.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/count/data/2012.12.30a.p6ihhpc7/count_stat_eventual:u.p6ihhpc7.2012.12.30b.raw
 create mode 100644 CodeSamples/datastruct/.gitignore
 create mode 100644 CodeSamples/datastruct/Makefile
 create mode 100644 CodeSamples/datastruct/hash_bkt.c
 create mode 100644 CodeSamples/datastruct/hash_bkt_rcu.c
 create mode 100644 CodeSamples/datastruct/hash_global.c
 create mode 100644 CodeSamples/datastruct/hashtorture.h
 create mode 100644 CodeSamples/datastruct/primes.mac
 create mode 100644 appendix/questions/time.tex
 create mode 100644 cartoons/Data-chasing-light-wave.eps
 create mode 100644 cartoons/Dining-philosophers.eps
 create mode 100644 cartoons/One-one-thousand.eps
 create mode 100644 cartoons/Passed-the-stress-test.eps
 create mode 100644 cartoons/TM-the-reality-conflict.eps
 create mode 100644 cartoons/TM-the-reality-nonidempotent.eps
 create mode 100644 cartoons/TM-the-reality-realtime.eps
 create mode 100644 cartoons/TM-the-vision.eps
 create mode 100644 cartoons/TortureLaptop.eps
 create mode 100644 cartoons/TortureTux.eps
 create mode 100644 cartoons/UseTheRightCannon.eps
 create mode 100644 cartoons/WhatTimeIsIt.eps
 create mode 100644 count/globbal.eps
 create mode 100644 count/globbal.fig
 create mode 100644 datastruct/hashdiagram.eps
 create mode 100644 datastruct/hashdiagram.fig
 create mode 100644 locking/rnplock.eps
 create mode 100644 locking/rnplock.fig
 delete mode 100644 time/time.tex
 create mode 100644 utilities/datablows.sh
 create mode 100644 utilities/sortdata.sh