[PATCH RESEND -perfbook 07/10] count: Add index tags to APIs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



List of tagged APIs:
  o __get_thread_var(): perfbook's own
  o for_each_thread():  perfbook's own
  o per_thread():       perfbook's own
  o __thread:           GCC extension
  o atomic_t:           Linux kernel
  o atomic_cmpxchg()    Linux kernel
  o pthread_kill()      POSIX

Signed-off-by: Akira Yokosawa <akiyks@xxxxxxxxx>
---
 count/count.tex | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/count/count.tex b/count/count.tex
index 2870506b..d2b39904 100644
--- a/count/count.tex
+++ b/count/count.tex
@@ -510,7 +510,7 @@ type \co{unsigned long} named, creatively enough, \co{counter}.
 
 \Clnrefrange{inc:b}{inc:e}
 show a function that increments the counters, using the
-\co{__get_thread_var()} primitive to locate the currently running
+\apipf{__get_thread_var()} primitive to locate the currently running
 thread's element of the \co{counter} array.
 Because this element is modified only by the corresponding thread,
 non-atomic increment suffices.
@@ -538,8 +538,8 @@ The use of \co{WRITE_ONCE()} prevents this optimization and others besides.
 
 \Clnrefrange{read:b}{read:e}
 show a function that reads out the aggregate value of the counter,
-using the \co{for_each_thread()} primitive to iterate over the list of
-currently running threads, and using the \co{per_thread()} primitive
+using the \apipf{for_each_thread()} primitive to iterate over the list of
+currently running threads, and using the \apipf{per_thread()} primitive
 to fetch the specified thread's counter.
 This code also uses \co{READ_ONCE()} to ensure that the compiler doesn't
 optimize these loads into oblivion.
@@ -721,7 +721,7 @@ This is the topic of the next section.
 \subsection{Per-Thread-Variable-Based Implementation}
 \label{sec:count:Per-Thread-Variable-Based Implementation}
 
-\GCC\ provides an \co{__thread} storage class that provides
+\GCC\ provides an \apig{__thread} storage class that provides
 per-thread storage.
 This can be used as shown in
 \cref{lst:count:Per-Thread Statistical Counters} (\path{count_end.c})
@@ -1914,7 +1914,7 @@ The \co{counter} and \co{countermax} variables in earlier algorithms
 are combined into the single variable \co{counterandmax} shown on
 \clnref{candmax}, with \co{counter} in the upper half and \co{countermax} in
 the lower half.
-This variable is of type \co{atomic_t}, which has an underlying
+This variable is of type \apik{atomic_t}, which has an underlying
 representation of \co{int}.
 
 \Clnrefrange{def:b}{def:e} show the definitions for \co{globalcountmax}, \co{globalcount},
@@ -2007,7 +2007,7 @@ shows the \co{add_count()} and \co{sub_count()} functions.
 with the remainder of the function being the slowpath.
 \Clnrefrange{fast:b}{loop:e} of the fastpath form a compare-and-swap
 (CAS) loop, with
-the \co{atomic_cmpxchg()} primitive on
+the \apik{atomic_cmpxchg()} primitive on
 \clnrefrange{atmcmpex}{loop:e} performing the
 actual CAS\@.
 \Clnref{split} splits the current thread's \co{counterandmax} variable into its
@@ -2625,7 +2625,7 @@ left as an exercise for the reader, as is the analysis of
 \cref{lst:count:Signal-Theft Limit Counter Initialization Functions}
 show \co{count_init()}, which set up \co{flush_local_count_sig()}
 as the signal handler for \co{SIGUSR1},
-enabling the \co{pthread_kill()} calls in \co{flush_local_count()}
+enabling the \apipx{pthread_kill()} calls in \co{flush_local_count()}
 to invoke \co{flush_local_count_sig()}.
 The code for thread registry and unregistry is similar to that of
 earlier examples, so its analysis is left as an exercise for the
-- 
2.17.1





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux