blob: c1a74f88317c5df4016958823788cdb9119269fe [file] [log] [blame]
\documentclass[10pt,twocolumn]{book}
% standard packages
% A more pleasant font
\usepackage[T1]{fontenc} % use postscript type 1 fonts
\usepackage{textcomp} % use symbols in TS1 encoding
\usepackage{mathptmx,helvet,courier} % use nice, standard fonts for roman, sans and monospace respectively
% Improves the text layout
\usepackage{microtype}
\usepackage{lscape}
\usepackage{epsfig}
\usepackage{subfigure}
% \usepackage{breakurl}
\usepackage{graphicx}
\usepackage{enumerate}
\usepackage{ifthen}
\usepackage{listings}
\lstset{basicstyle=\ttfamily}
% \usepackage[strings]{underscore}
% \usepackage{underscore}
\usepackage[bookmarks=true,bookmarksnumbered=true,pdfborder={0 0 0}]{hyperref}
% custom packages
\usepackage{qqz}
\usepackage{origpub}
\begin{document}
%%HTMLSKIP
\lstset{
literate={\_}{}{0\discretionary{\_}{}{\_}}%
}
%%HTMLNOSKIP
\newcommand{\co}[1]{\lstinline[breaklines=yes,breakatwhitespace=yes]{#1}}
\title{Is Parallel Programming Hard, And, If So, What Can You Do About It?}
\author{
First Edition Release Candidate 3 \\
\\
\\
\\
Edited by: \\
\\
Paul E. McKenney \\
Linux Technology Center \\
IBM Beaverton \\
\href{mailto:paulmck@linux.vnet.ibm.com}{paulmck@linux.vnet.ibm.com} \\
} % end author
% \date{\ }
\setcounter{topnumber}{3}
\renewcommand\topfraction{.75}
\setcounter{bottomnumber}{2}
\renewcommand\bottomfraction{.3}
\setcounter{totalnumber}{5}
\renewcommand\textfraction{.15}
\renewcommand\floatpagefraction{.5}
\setcounter{dbltopnumber}{3}
\renewcommand\dbltopfraction{.75}
\renewcommand\dblfloatpagefraction{.5}
\setlength{\textheight}{8.25in}
\setlength{\textwidth}{6.5in}
\setlength{\columnsep}{0.25in}
\newboolean{inbook}
\setboolean{inbook}{true}
\newcommand{\IfInBook}[2]{\ifthenelse{\boolean{inbook}}{#1}{#2}}
\setcounter{secnumdepth}{3}
\frontmatter
\maketitle
\input{legal}
\tableofcontents
\input{preface}
\mainmatter
\input{intro/intro}
\input{cpu/cpu}
\input{toolsoftrade/toolsoftrade}
\input{count/count.tex}
\input{SMPdesign/SMPdesign}
\input{locking/locking.tex}
\input{owned/owned.tex}
\input{defer/defer.tex}
\input{datastruct/datastruct.tex}
\input{debugging/debugging}
\input{formal/formal}
\input{together/together.tex}
\input{advsync/advsync.tex}
\input{easy/easy.tex}
% \input{memalloc/memalloc.tex} @@@ covered in SMPdesign
\input{future/future.tex}
% @@@ Conclusion/summary or something, along with "use the right tool" cartoon.
\appendix
\input{appendix/appendix.tex}
% Index at some point...
\end{document}