On Fri, 2023-02-10 at 00:12 +0900, Akira Yokosawa wrote: > Subject: [PATCH -perfbook] cpu: Add a QQz citing table E.1 > > An email thread started from a question from Leo [1] stimulated > me to add a QQz on Paul's experience back in 2009. > > Link: [1] https://www.spinics.net/lists/perfbook/msg03824.html > Signed-off-by: Akira Yokosawa <akiyks@xxxxxxxxx> > --- > I wrote: > > On second thought, it should be possible to put a QQz next to QQz 3.7 > > citing Table E.1 in the Quiz part. > > > > Let me try and produce a PoC patch. > > Something like this? > > I couldn't make the QQz next to QQz 3.7 due to the > > \QuickQuizLabel{\QspeedOfLightAtoms} > > just below QQz 3.7. > If you put the label in the middle of > > \QuickQuizSeries{ > ... > } > > , you will get build errors in -nq builds. > > Instead, I added it next to QQz 3.8 (or the end of Section 3.2.2). > It looks still relevant there. > > The wording of the Quiz and its Answer is just a stub. > Paul, feel free to rewrite them as you like. > > Thanks, Akira > -- > cpu/overheads.tex | 24 +++++++++++++++++++++--- > 1 file changed, 21 insertions(+), 3 deletions(-) > > diff --git a/cpu/overheads.tex b/cpu/overheads.tex > index 0d8270bf6e17..cff847cdadbf 100644 > --- a/cpu/overheads.tex > +++ b/cpu/overheads.tex > @@ -485,10 +485,11 @@ cycles, as shown in the ``Global Comms'' row. > % page 6/76 'Leading Interconnect, Leading Performance' > % Needs updating... > > -\QuickQuiz{ > +\QuickQuizSeries{% > +\QuickQuizB{ > These numbers are insanely large! > How can I possibly get my head around them? > -}\QuickQuizAnswer{ > +}\QuickQuizAnswerB{ > Get a roll of toilet paper. > In the USA, each roll will normally have somewhere around > 350--500 sheets. > @@ -516,7 +517,24 @@ cycles, as shown in the ``Global Comms'' row. > You might wish to avoid disabling interrupts across that many > cache misses.\footnote{ > Kudos to Matthew Wilcox for this holding-breath analogy.} > -}\QuickQuizEnd > +}\QuickQuizEndB > +% > +\QuickQuizE{ > + \Cref{tab:cpu:Performance of Synchronization Mechanisms on 16-CPU 2.8GHz Intel X5550 (Nehalem) System} > + in the answer to \QuickQuizARef{\QspeedOfLightAtoms} says that > + In-Core CAS is faster than both of Same-CPU CAS and In-Core Blind CAS\@. > + What is happening there? > +}\QuickQuizAnswerE{ > + I \emph{was} surprised by the data I obtained and did a rigorous > + check of their validity. > + I got the same result persistently. > + One theory that might explain the observation would be: > + The two threads in the core are able to overlap their accesses, > + while the single CPU must do everything sequentially. > + Unfortunately, there seems to be no public documentation explaining > + why the Intel X5550 (Nehalem) system behaved like that. > +}\QuickQuizEndE > +} % End of \QuickQuizSeries > > \subsection{Hardware Optimizations} > \label{sec:cpu:Hardware Optimizations} > > base-commit: 14440e232cc1b2580dc1a73f873dc29fe3aea02b Tested on Gitlab: https://gitlab.com/linux-kernel/perfbook/-/pipelines/774642106 Observations for this PDF: QQz 3.7 has the mentioned table. QQz 3.9 has the comment on the table. 'Question + link' to QQz 3.9 appears in Chapter 3, on the page after 'question + link' to QQz 3.7. Is that the desired output? (It feels a little 'misplaced', TBH. The best place would be just after QQz 3.7, but looking into your comments, it seems it was not possible.) Anyway, if the desired output was achieved: Tested-by: Leonardo Bras <leobras@xxxxxxxxxx> Reviewed-by: Leonardo Bras <leobras@xxxxxxxxxx> Best regards, Leo