Re: [PATCH -perfbook v2] cpu: Add a QQz on table E.1

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

 



On Sun, 12 Feb 2023 16:28:56 -0800, Paul E. McKenney wrote:
> On Sun, Feb 12, 2023 at 09:42:07AM +0900, Akira Yokosawa wrote:
>> An email thread started from a question from Leo [1] stimulated
>> me to add a QQz on Paul's experience back in 2009.
>>
>> As \QuickQuizLabel{} inside \QuickQuizSeries{} doesn't work in
>> -nq builds, define \QuickQuizLabelRel{}{} and put it in front
>> of the series.
>>
>> Link: [1] https://www.spinics.net/lists/perfbook/msg03824.html
>> Signed-off-by: Akira Yokosawa <akiygmail.com>
>> Cc: Leonardo Brás <leobras.c@xxxxxxxxx>
> 
> Queued and pushed, thank you!

Paul, can you revert c82369bef3f6 ("cpu: Add a QQz citing table E.1")?

Patch v2 happens to have no conflict with v1 and you have applied
both of them!

Now we have the same Quizzes of QQz 3.8 and QQz 3.10.

c82369bef3f6 can be reverted cleanly.

        Thanks, Akira

> 
> 							Thanx, Paul
> 
>> ---
>> v2: Place new QQz next to QQz 3.7
>>
>> --
>>  cpu/overheads.tex | 28 +++++++++++++++++++++++-----
>>  qqz.sty           | 16 ++++++++++++++++
>>  2 files changed, 39 insertions(+), 5 deletions(-)
>>
>> diff --git a/cpu/overheads.tex b/cpu/overheads.tex
>> index 0d8270bf6e17..a89c71158bf9 100644
>> --- a/cpu/overheads.tex
>> +++ b/cpu/overheads.tex
>> @@ -290,12 +290,15 @@ nanoseconds, or more than seven hundred clock cycles.
>>  A CAS operation consumes almost a full microsecond, or almost two
>>  thousand clock cycles.
>>  
>> -\QuickQuiz{
>> +\QuickQuizLabelRel{\QspeedOfLightAtoms}{1} % cann't put label inside QQSeries
>> +
>> +\QuickQuizSeries{%
>> +\QuickQuizB{
>>  	Surely the hardware designers could be persuaded to improve
>>  	this situation!
>>  	Why have they been content with such abysmal performance
>>  	for these single-instruction operations?
>> -}\QuickQuizAnswer{
>> +}\QuickQuizAnswerB{
>>  	The hardware designers \emph{have} been working on this
>>  	problem, and have consulted with no less a luminary than
>>  	the late physicist Stephen Hawking.
>> @@ -423,9 +426,24 @@ thousand clock cycles.
>>  	\Cref{sec:cpu:Hardware Free Lunch?}
>>  	looks at what else hardware designers might be
>>  	able to do to ease the plight of parallel programmers.
>> -}\QuickQuizEnd
>> -
>> -\QuickQuizLabel{\QspeedOfLightAtoms}
>> +}\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
>>  
>>  \begin{table}
>>  \rowcolors{1}{}{lightgray}
>> diff --git a/qqz.sty b/qqz.sty
>> index a3a9f22d1ba9..5c7eb5340194 100644
>> --- a/qqz.sty
>> +++ b/qqz.sty
>> @@ -156,6 +156,11 @@
>>  
>>  % To create a macro referencing the previously defined quick quiz:
>>  %	\QuickQuizLabel{\QQname}
>> +%
>> +% When labeling a QQz inside \QuickQuizSeries{}, use
>> +%	\QuickQuizLabelRel{\QQname}{rel}
>> +% in front of the series.
>> +%
>>  % To reference the macro in the text:
>>  %	\QuickQuizRef{\QQname}
>>  % To reference the answer of the macro in the text:
>> @@ -166,6 +171,11 @@
>>  \newcommand{\QuickQuizLabel}[1]{
>>  	\edef#1{\thechapter.\thequickquizctrP}
>>  }
>> +\newcommand{\QuickQuizLabelRel}[2]{
>> +        \addtocounter{quickquizctrP}{#2}
>> +	\QuickQuizLabel{#1}
>> +	\addtocounter{quickquizctrP}{-#2}
>> +}
>>  \newcommand{\QuickQuizRef}[1]{%
>>  	\hyperref[QQ.#1]{Quick Quiz~#1}%
>>  }
>> @@ -176,6 +186,12 @@
>>  \newcommand{\QuickQuizLabel}[1]{
>>  	\edef#1{\thechapter.\thequickquizctr}
>>  }
>> +\newcommand{\QuickQuizLabelRel}[2]{
>> +        \addtocounter{quickquizctr}{#2}
>> +	\QuickQuizLabel{#1}
>> +	\addtocounter{quickquizctr}{-#2}
>> +}
>> +
>>  \newcommand{\QuickQuizRef}[1]{%
>>  	\hyperref[QQ.#1]{Quick Quiz~#1}%
>>  }
>>
>> base-commit: 14440e232cc1b2580dc1a73f873dc29fe3aea02b
>> -- 
>> 2.25.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