Table E.3 is not intuitive enough to be understood on its own. Make it self explanatory by adding references to Listing E.3 and line counts. Reorder header rows and use \cmidrule for better representation of table structure as well. Signed-off-by: Akira Yokosawa <akiyks@xxxxxxxxx> --- Hi Paul, I'm not sure if this is actually an improvement, but looking at the line labels you put in the code snippet, I'm guessing this might be along the line of what you had in mind. What do you think? Thanks, Akira -- defer/rcuapi.tex | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/defer/rcuapi.tex b/defer/rcuapi.tex index 3f5877f3264f..eea7259776d1 100644 --- a/defer/rcuapi.tex +++ b/defer/rcuapi.tex @@ -367,18 +367,23 @@ The \apik{rcu_barrier()} primitive does this job. \renewcommand*{\arraystretch}{1.2} \centering \small +\begin{fcvref}[ln:defer:synchonize-rcu vs rcu-barrier] \begin{tabular}{lll} \toprule - & \tco{synchronize_rcu()} & \tco{rcu_barrier()} \\ -Invoked at: & \multicolumn{2}{c}{Must Wait Until:} \\ -\midrule + & \multicolumn{2}{c}{Must Wait Until (in \cref{lst:defer:synchronize-rcu vs. rcu-barrier}):} \\ +\cmidrule{2-3} +\multicolumn{1}{c}{Invoked at:} & \multicolumn{1}{c}{\tco{synchronize_rcu()}} + & \multicolumn{1}{c}{\tco{rcu_barrier()}} \\ +\cmidrule(r){1-1} \cmidrule{2-3} \tco{do_something_1()} & & \\ -\tco{do_something_2()} & \tco{rcu_read_unlock()} & \\ -\tco{do_something_3()} & \tco{rcu_read_unlock()} & \tco{f(&p->rh)} \\ -\tco{do_something_4()} & & \tco{f(&p->rh)} \\ +\tco{do_something_2()} & \tco{rcu_read_unlock()} (\clnref{rrul}) & \\ +\tco{do_something_3()} & \tco{rcu_read_unlock()} (\clnref{rrul}) + & \tco{f(&p->rh)} (\clnref{cb}) \\ +\tco{do_something_4()} & & \tco{f(&p->rh)} (\clnref{cb}) \\ \tco{do_something_5()} & & \\ \bottomrule \end{tabular} +\end{fcvref} \caption{\tco{synchronize_rcu()} vs. \tco{rcu_barrier()}} \label{tab:defer:synchonize-rcu vs rcu-barrier} \end{table*} -- 2.25.1