Discussions of the Parallel Programming book
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: William Light <wrl@illest.net>
Cc: perfbook@vger.kernel.org
Subject: Re: Trouble building PDF on Arch
Date: Sat, 4 Oct 2014 01:10:18 -0700	[thread overview]
Message-ID: <20141004081018.GE5015@linux.vnet.ibm.com> (raw)
In-Reply-To: <1412314107.4191327.174652477.71409BD5@webmail.messagingengine.com>

On Fri, Oct 03, 2014 at 07:28:27AM +0200, William Light wrote:
> Paul,
> 
> It turned out to be a LaTex bug, actually! More information here:
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752773
> 
> Norbert Preining's fix worked for me.

Good to hear that it was fixed!

							Thanx, Paul

> -w
> 
> On Thu, 2 Oct 2014, at 22:13, Paul E. McKenney wrote:
> > On Fri, Sep 26, 2014 at 05:24:25PM +0200, William Light wrote:
> > > Hey everyone,
> > > 
> > > I'm trying to build the perfbook PDF from a git clone, but latex keeps
> > > exiting with a fatal error. I've installed just about everything
> > > texlive-related (there's a catch-all package called texlive-most).
> > > 
> > > Here's the log:
> > > http://illest.net/~will/perfbook.log.txt
> > 
> > Hmmmm...  Works for me.  (Famous last words!)
> > 
> > The table that it is complaining about should look as shown below.
> > If not, please revert back to the original.  If it does, please try
> > deleting it as a diagnostic measure.
> > 
> > What environment are you building in?
> > 
> > 							Thanx, Paul
> > 
> > ------------------------------------------------------------------------
> > 
> > \begin{table*}
> > \scriptsize
> > \begin{center}
> > \begin{tabular}{l|l|l}
> > 	Category & POSIX & Linux Kernel \\
> > 	\hline
> > 	\hline
> > 	Thread Management
> > 		& \co{pthread_t}
> > 			& \co{struct task_struct} \\
> > 	\cline{2-3}
> > 		& \co{pthread_create()}
> > 			& \co{kthread_create} \\
> > 	\cline{2-3}
> > 		& \co{pthread_exit()}
> > 			& \co{kthread_should_stop()}~~~~~(rough) \\
> > 	\cline{2-3}
> > 		& \co{pthread_join()}
> > 			& \co{kthread_stop()}~~~(rough) \\
> > 	\cline{2-3}
> > 		& \co{poll(NULL, 0, 5)}
> > 			& \co{schedule_timeout_interruptible()} ~~~ \\
> > 	\hline
> > 	\hline
> > 	POSIX Locking
> > 		& \co{pthread_mutex_t}
> > 			& \co{spinlock_t}~~~(rough) \\
> > 		&	& \co{struct mutex} \\
> > 	\cline{2-3}
> > 		& \co{PTHREAD_MUTEX_INITIALIZER}
> > 			& \co{DEFINE_SPINLOCK()} \\
> > 		&	& \co{DEFINE_MUTEX()} \\
> > 	\cline{2-3}
> > 		& \co{pthread_mutex_lock()}
> > 			& \co{spin_lock()}~~~(and friends) \\
> > 		&	& \co{mutex_lock()}~~~(and friends) \\
> > 	\cline{2-3}
> > 		& \co{pthread_mutex_unlock()}
> > 			& \co{spin_unlock()}~~~(and friends) \\
> > 		&	& \co{mutex_unlock()} \\
> > 	\hline
> > 	\hline
> > 	POSIX Reader-Writer
> > 		& \co{pthread_rwlock_t}
> > 			& \co{rwlock_t}~~~(rough) \\
> > 	Locking	&	& \co{struct rw_semaphore} \\
> > 	\cline{2-3}
> > 		& \co{PTHREAD_RWLOCK_INITIALIZER}
> > 			& \co{DEFINE_RWLOCK()} \\
> > 		&	& \co{DECLARE_RWSEM()} \\
> > 	\cline{2-3}
> > 		& \co{pthread_rwlock_rdlock()}
> > 			& \co{read_lock()}~~~(and friends) \\
> > 		&	& \co{down_read()}~~~(and friends) \\
> > 	\cline{2-3}
> > 		& \co{pthread_rwlock_unlock()}
> > 			& \co{read_unlock()}~~~(and friends) \\
> > 		&	& \co{up_read()} \\
> > 	\cline{2-3}
> > 		& \co{pthread_rwlock_wrlock()}
> > 			& \co{write_lock()}~~~(and friends) \\
> > 		&	& \co{down_write()}~~~(and friends) \\
> > 	\cline{2-3}
> > 		& \co{pthread_rwlock_unlock()}
> > 			& \co{write_unlock()}~~~(and friends) \\
> > 		&	& \co{up_write()} \\
> > 	\hline
> > 	\hline
> > 	Atomic Operations
> > 		& C Scalar Types
> > 			& \co{atomic_t} \\
> > 		&	& \co{atomic64_t} \\
> > 	\cline{2-3}
> > 		& \co{__sync_fetch_and_add()}
> > 			& \co{atomic_add_return()} \\
> > 		&	& \co{atomic64_add_return()} \\
> > 	\cline{2-3}
> > 		& \co{__sync_fetch_and_sub()}
> > 			& \co{atomic_sub_return()} \\
> > 		&	& \co{atomic64_sub_return()} \\
> > 	\cline{2-3}
> > 		& \co{__sync_val_compare_and_swap()} ~~~~~~~~~~
> > 			& \co{cmpxchg()} \\
> > 	\cline{2-3}
> > 		& \co{__sync_lock_test_and_set()}
> > 			& \co{xchg()}~~~(rough) \\
> > 	\cline{2-3}
> > 		& \co{__sync_synchronize()}
> > 			& \co{smp_mb()} \\
> > \end{tabular}
> > \end{center}
> > \caption{Mapping from POSIX to Linux-Kernel Primitives}
> > \label{tab:advsync:Mapping from POSIX to Linux-Kernel Primitives}
> > \end{table*}
> > 
> > --
> > To unsubscribe from this list: send the line "unsubscribe perfbook" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


      reply	other threads:[~2014-10-04  8:10 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-26 15:24 Trouble building PDF on Arch William Light
2014-10-02 20:13 ` Paul E. McKenney
2014-10-03  5:28   ` William Light
2014-10-04  8:10     ` Paul E. McKenney [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141004081018.GE5015@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=perfbook@vger.kernel.org \
    --cc=wrl@illest.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox