Elie De Brauwer (40): Change Power PC into PowerPC Make all sentences of the enumeration start with a capital letter Users is spelled as users elsewhere in this paragraph Align acronyms with those used in the parallel access control paragraph Hyphenate parallel-access-control as full modifier Properly capitalize POSIX Threads Align Power 5 and Power-5 to Power-5 thread_rwlock_wrlock() should be pthread_rwlock_wrlock() Power5 trademark fixup and table 3.1 spacing Spelling correction for "has can" Fix plurality of verb: do->does Fix grammar: "can is" -> "is" Power 5 -> Power-5, align with chapter 3 Align Right- and Left-Hand Locks section title with Left- and Right-Hand locks image caption Fix "will has been" typo Fix typos in locking chapter Typo: guarnatees -> guarantees Add missing period Adding space: Figure8.15 -> Figure 8.15 Typo: 5 shouldn't be there Punctuation Closing parenthesis In is interesting -> It is interesting Fix pthread_create() pseudocode call on page requires \pageref instead of \ref Closing parenthesis Ehrlang -> Erlang Parentheses for create_thread() wait_all_thread() -> wait_all_threads() Subject/verb agreement DMA-mapping.txt is called DMA-API-HOWTO.txt since 2.6.33 Make text reference Figure 12.8 may be take place -> may take place in Figure 12.7 Fix reference to Figure 12.10 assumed to be full memory barrier -> assumed to be a full memory barrier an UNLOCK operations -> an UNLOCK operation Curly braces were not shown in Table 12.2 Fix table reference Noun-verb agreement Align use of casing in variable naming in tabular examples Paul E. McKenney (31): Wordsmithing in locking chapter. Updated single-column bibliography. Add new figures to Makefile. Update todo list. Fix copy-and-paste copyright date error. Add RCU bug exerciser, convert to liburcu First cut SRCU implementations and bug-demo program todo list update. Add -local_icons to html creation Shorten function name so that Figure 4.16 fits Changes to variables for consistency with previous commit. Switch overflowing figures to double-column mode Add locking/signals quick quiz Grammar fixes Fix formatting issues. Fix column overflows. Add section label. Forward ref to data ownership and chopsticks vs. forks Data Ownership chapter, part 1. More data ownership. Use breakurl in place of url package Use scriptsize to prevent column overflow. Reword final paragraph in ownership section. Faulty reference Clarify QQ 12.14 answer. Typo fix Add verbiage about test runs required. Wordsmith validation moral. Add more statistical verbiage to the debugging section Fill out ownership and debugging chapters a bit more. Additional material for the validation chapter. CodeSamples/Makefile | 40 +- CodeSamples/Makefile.arch | 3 + CodeSamples/SMPdesign/lockdeq.c | 6 +- CodeSamples/SMPdesign/lockhdeq.c | 6 +- CodeSamples/SMPdesign/locktdeq.c | 12 +- CodeSamples/api.h | 704 +---------- CodeSamples/debugging/BinomialNRuns.eps | 2205 +++++++++++++++++++++++++++++++ CodeSamples/debugging/plots.sh | 44 + CodeSamples/defer/.gitignore | 2 + CodeSamples/defer/Makefile | 10 +- CodeSamples/defer/bug_rcu_dp.c | 130 ++ CodeSamples/defer/bug_srcu_a.c | 130 ++ CodeSamples/defer/rcu_pointer.h | 8 + CodeSamples/defer/seqlocktorture.c | 2 +- CodeSamples/defer/srcu.c | 241 ++++ CodeSamples/defer/srcu.h | 78 ++ Makefile | 5 +- SMPdesign/SMPdesign.tex | 3 + SMPdesign/partexercises.tex | 22 +- advsync/WriteBarrierOrdering.fig | 2 +- advsync/memorybarriers.tex | 86 +- appendix/primitives/primitives.tex | 6 +- appendix/whymb/whymemorybarriers.tex | 8 +- count/count.tex | 148 ++- debugging/debugging.tex | 448 +++++++- defer/rcuapi.tex | 8 +- defer/rcufundamental.tex | 16 +- defer/rcuintro.tex | 2 +- defer/rcuusage.tex | 8 +- easy/easy.tex | 2 +- future/tm.tex | 6 +- intro/intro.tex | 14 +- legal.tex | 2 +- locking/locking.tex | 36 +- owned/owned.tex | 357 +++++- perfbook-1c.bbl | 259 ++++- perfbook.bbl | 40 +- perfbook.tex | 2 +- qqz.tex | 354 +++++- todo.txt | 13 + toolsoftrade/toolsoftrade.tex | 73 +- 41 files changed, 4563 insertions(+), 978 deletions(-) create mode 100644 CodeSamples/debugging/BinomialNRuns.eps create mode 100644 CodeSamples/debugging/plots.sh create mode 100644 CodeSamples/defer/bug_rcu_dp.c create mode 100644 CodeSamples/defer/bug_srcu_a.c create mode 100644 CodeSamples/defer/srcu.c create mode 100644 CodeSamples/defer/srcu.h