| % ack.tex |
| % mainfile: perfbook.tex |
| % SPDX-License-Identifier: CC-BY-SA-3.0 |
| |
| \chapter{Credits} |
| \label{bck:ack:Credits} |
| % |
| \Epigraph{If I have seen further it is by standing on the shoulders of |
| giants.}{Isaac Newton, modernized} |
| |
| % \section{Authors} |
| |
| % CCASA 3.0 US wording from John Wiegley. |
| % http://www.newartisans.com/blog_assets/git.from.bottom.up.pdf |
| |
| \section{\LaTeX\ Advisor} |
| |
| Akira Yokosawa is this book's \LaTeX\ advisor, which perhaps most |
| notably includes the care and feeding of the style guide laid out |
| in \cref{chp:app:styleguide:Style Guide}\@. |
| This work includes table layout, listings, fonts, rendering of math, |
| acronyms, bibliography formatting, epigraphs, hyperlinks, paper size. |
| Akira also perfected the cross-referencing of quick quizzes, allowing |
| easy and exact navigation between quick quizzes and their answers. |
| He also added build options that permit quick quizzes to be hidden |
| and to be gathered at the end of each chapter, textbook style. |
| |
| This role also includes the build system, which Akira has optimized and |
| made much more user-friendly. |
| His enhancements have included automating response to bibliography |
| changes, automatically determining which source files are present, |
| and automatically generating listings (with automatically generated |
| hyperlinked line-number references) from the source files. |
| |
| \section{Reviewers} |
| |
| \begin{itemize} |
| \item Alan Stern (\cref{chp:Advanced Synchronization: Memory Ordering}). |
| \item Andy Whitcroft (\cref{sec:defer:RCU Fundamentals}, |
| \cref{sec:defer:RCU Linux-Kernel API}). |
| \item Artem Bityutskiy (\cref{chp:Advanced Synchronization: Memory Ordering}, |
| \cref{chp:app:whymb:Why Memory Barriers?}). |
| \item Dave Keck (\cref{chp:app:whymb:Why Memory Barriers?}). |
| \item David S. Horner |
| (\cref{sec:formal:Promela Parable: dynticks and Preemptible RCU}). |
| \item Gautham Shenoy (\cref{sec:defer:RCU Fundamentals}, |
| \cref{sec:defer:RCU Linux-Kernel API}). |
| \item ``jarkao2'', AKA LWN guest \#41960 (\cref{sec:defer:RCU Linux-Kernel API}). |
| \item Jonathan Walpole (\cref{sec:defer:RCU Linux-Kernel API}). |
| \item Josh Triplett (\cref{chp:Formal Verification}). |
| \item Michael Factor (\cref{sec:future:Transactional Memory}). |
| \item Mike Fulton (\cref{sec:defer:RCU Fundamentals}). |
| \item Peter Zijlstra |
| (\cref{sec:defer:RCU Usage}). % Lanin and Shasha citation. |
| \item Richard Woodruff (\cref{chp:app:whymb:Why Memory Barriers?}). |
| \item Suparna Bhattacharya (\cref{chp:Formal Verification}). |
| \item Vara Prasad |
| (\cref{sec:formal:Promela Parable: dynticks and Preemptible RCU}). |
| \end{itemize} |
| |
| Reviewers whose feedback took the extremely welcome form of a patch |
| are credited in the git logs. |
| |
| \section{Machine Owners} |
| |
| Readers might have noticed some graphs showing scalability data out |
| to several hundred CPUs, courtesy of my current employer, with special |
| thanks to Paul Saab, Yashar Bayani, Joe Boyd, and Kyle McMartin. |
| |
| From back in my time at IBM, |
| a great debt of thanks goes to Martin Bligh, who originated the |
| Advanced Build and Test (ABAT) system at IBM's Linux Technology |
| Center, as well as to Andy Whitcroft, Dustin Kirkland, and many |
| others who extended this system. |
| Many thanks go also to a great number of machine owners: |
| Andrew Theurer, |
| Andy Whitcroft, |
| Anton Blanchard, |
| Chris McDermott, |
| Cody Schaefer, |
| Darrick Wong, |
| David ``Shaggy'' Kleikamp, |
| Jon M. Tollefson, |
| Jose R. Santos, |
| Marvin Heffler, |
| Nathan Lynch, |
| Nishanth Aravamudan, |
| Tim Pepper, |
| and |
| Tony Breeds. |
| |
| \section{Original Publications} |
| |
| \ListOriginalPublications |
| |
| \section{Figure Credits} |
| |
| \ListContributions |
| |
| \Cref{fig:defer:RCU Areas of Applicability} was adapted from |
| \ppl{Fedor}{Pikus}'s ``When to use RCU'' slide~\cite{FedorPikus2017RCUthenWhat}. |
| The discussion of mechanical reference counters in |
| \cref{sec:defer:Reference Counting} |
| stemmed from a private conversation with \ppl{Dave}{Regan}. |
| |
| \section{Other Support} |
| |
| We owe thanks to many CPU architects for patiently explaining the |
| instruction- and memory-reordering features of their CPUs, particularly |
| Wayne Cardoza, Ed Silha, Anton Blanchard, Tim Slegel, Juergen Probst, |
| Ingo Adlung, Ravi Arimilli, Cathy May, Derek Williams, |
| H.~Peter Anvin, |
| Andy Glew, Leonid Yegoshin, |
| Richard Grisenthwaite, and Will Deacon. |
| Wayne deserves special thanks for his patience in explaining Alpha's reordering |
| of dependent loads, a lesson that Paul resisted quite strenuously! |
| |
| The bibtex-generation service of the Association for Computing Machinery |
| has saved us a huge amount of time and effort compiling the bibliography, |
| for which we are grateful. |
| Thanks are also due to Stamatis Karnouskos, who convinced me to drag my |
| antique bibliography database kicking and screaming into the |
| 21\textsuperscript{st} century. |
| Any technical work of this sort owes thanks to the many individuals and |
| organizations that keep Internet and the World Wide Web up and running, |
| and this one is no exception. |
| |
| Portions of this material are based upon work supported by the National |
| Science Foundation under Grant No.\@ CNS-0719851. |