summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
11 daysdefer: Use \tco{} in inline enum listHEADmasterAkira Yokosawa1-1/+1
Using \co{} in list environments such as enumerate* can confuse LeTeX engines in width estimation due to possible line breaks therein. It causes an overlap of "," over the closing ")" of "read_seqretry()" in the answer to QQz 9.14. Use \tco{} to avoid such undesired results. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
11 dayslocking: Mark sentence-ending period as suchAkira Yokosawa1-1/+1
Silence warning from "make punctcheck": vvv Hint: sentence ending with an uppercase needs "\@." vvv ./locking/locking.tex:2039:traditionally used in scheduling disk I/O. It is needed because commit 678e6cc3c0f1 ("locking: Cite Dice et al. for hierarchical lock") have added a sentence in the paragraph. Fixes: 678e6cc3c0f1 ("locking: Cite Dice et al. for hierarchical lock") Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-05-02howto: Add Rainer Grimm's C++ concurrency textbookPaul E. McKenney2-1/+11
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-05-02locking: Cite Dice et al. for hierarchical lockPaul E. McKenney1-0/+5
Reported-by: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-05-02Bibliography updatePaul E. McKenney6-5/+293
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-04-21docker: Add options to tar for normal-user mode behaviorAkira Yokosawa2-2/+2
Default behavior of super-user mode tar is to keep uid/gid and permissions in extracting files/directories from archives. It conflicts with security settings of rootless mode podman while building container images from recent releases of ubuntu and fedora, resulting in errors as follows: tar: latexpand-v1.3/tests/df-conflict/b: Cannot change mode to rwxrwxr-x: Operation not permitted tar: latexpand-v1.3/tests/df-conflict: Cannot change mode to rwxrwxr-x: Operation not permitted tar: latexpand-v1.3/tests/expected/err: Cannot change mode to rwxrwxr-x: Operation not permitted tar: latexpand-v1.3/tests/expected: Cannot change mode to rwxrwxr-x: Operation not permitted tar: latexpand-v1.3/tests: Cannot change mode to rwxrwxr-x: Operation not permitted tar: latexpand-v1.3: Cannot change mode to rwxrwxr-x: Operation not permitted tar: Exiting with failure status due to previous errors Add --no-same-owner and --no-same-permission options to tar and make it behave the same way as in its normal-user mode. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-03-16Update rcu-test.dat as of Linux kernel v6.8Akira Yokosawa1-1/+3
Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-03-16Plot RCU-test-ratio on-the-flyAkira Yokosawa6-4956/+25
RCU-test-ratio.eps has been updated regularly in response to new releases of mainline Linux kernel. If such updates were to happen rarely, having the plot as EPS in the Git repo would make sense. As for this plot, it makes more sense to have only the data in the repo and to do the plot on-the-fly. There is other things to consider. Using "set term postscript" would require groff as well as gnuplot for plotting. By using "set term svg", groff can be omitted from the requirement list. Another is the bar style. As the number of bars is getting larger, bars with surrounding border can result in moire pattern when viewed on display. Bars of "noborder" style should reduce such distracting effects. Summary of changes in this commit: * Under CodeSamples/formal/data/ - Remove RCU-test-ratio.eps - plot.sh - Use "set term svg" - Use bar style of "noborder", increase color saturation - Other tweaks - .gitignore - Add *.svg * Makefile - Add specific recipes for RCU-test-ratio.svg * FAQ-BUILD.txt - Add gnuplot in the lists of requirements * utilities/gitlab-ci.yml - Add gnuplot in the list of packages for generate_pdfs Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Cc: Leonardo Bras <leobras.c@gmail.com> # for gitlab-ci.yml change Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-02-24memorder: Switch fr variable to x to match co and rfPaul E. McKenney2-6/+6
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-02-24Cope with behavior change in newtxtext v1.738Akira Yokosawa5-4/+5
Recently, newtxtext's behavior of sans-serif font setting has become unstable and the option helvratio stopped working as of newtxtext v1.738. As a workaround, load tgheros.sty provided by the tex-gyre package before loading newtxtext with the same scaling facter which works with previous versions of newtxtext. Do similar changes in pstricks figures under SMPdesign/ which use sans-serif font only. Note: newtxtext's main feature is to provide improved Times Roman clone based on TeX Gyre Termes. The author of newtxtext doesn't pay much attention on sans-serif font behavior, it seems, and has made v1.738 and later respect default sans-serif font at the time of loading newtxtext.sty. Changelog in newtx's README [1] reads: Changes in version 1.738 1. Documentation updated for newtx.sty usage. 2. Modified newtx.sty and newtxtext.sty to ensure that default effects of \mathsf and \mathtt are the same in both cases, and to ensure that in both, the prior loading of a sf or tt text font would result in those being used for \mathsf, \mathtt without any further interventions. Link: [1] https://mirrors.ctan.org/fonts/newtx/README Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-02-12memorder: Fix s/encourage/encouraged/ typoPaul E. McKenney1-1/+1
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-02-12memorder: Retouch co-, fr-, and rf-hopes.svgAkira Yokosawa3-66/+174
These SGVs have bi-directional arrows which cause Ubuntu 20.04's inkscape 0.92.5 to crash. As workarounds, replace them with the ones which are safe in the old version of inkscape. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-02-11FAQ: Update Korean translation progressSeongJae Park1-1/+6
I started the translation of perfbook since October 2015. The translation was done by June 2017, and I continued wordsmithing, merging the upstream changes, and further translating. Following the upstream's fast speed of the change and keeping the translation consistent was quite challenging. In Mar 2021, I therefore decided to stop updating existing translation and start the translation of the 2nd edition from the scratch. Applying upstream changes were minimized to only simple fixes, usually what I fixed on my local repo first and sent patches upstream. After about three years, I just completed the Korean translation of the 2nd edition. Hence updating the Korean translation progress on FAQ. It was a very fun and informative journey. Huge appreciate to Paul and the community for making the great book and letting me get the fun. I have no plan for the future. I don't know if I will continue merging upstream changes and further translating it, or if I will restart the translation after the third edition is released. I sometimes feel translation is already an area that AI can do better than me. But I sure I would repeatedly read this book again and again, and some day, I might try to translate it again. But at the moment, I'd like to take a time to congrats myself :) Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-02-08appendix/whymb: Add missing unbreakable spacesSeongJae Park1-3/+3
Some sentences in whymemorybarriers.tex is missing unbreakable spaces between 'and' and CPU numbers. Add those. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-02-08appendix/whymb: Add '()' for functionsSeongJae Park1-1/+1
A sentence in whymemorybarriers.tex is missing '()' for functions, namely foo() and bar(). Add it for the consistency. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-02-08appendix/whymb: Use \co{} for codeSeongJae Park1-1/+1
Some sentences in whymemorybarriers.tex is not using \co{} for code. Use it. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-02-08appendix/whymb: Use \qco{} for quoted codeSeongJae Park1-95/+95
Some sentences in whymemorybarriers.tex are using native quotes for quoted code. Use \qco{} instead. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-02-08memorder: Adjust QQ 16.31 to allow for not-quite monomodalityPaul E. McKenney1-2/+2
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-02-08CodeSamples/cpu: Tweak bin_width of coe.epsAkira Yokosawa7-4596/+3703
bin_width of 40 obscured the spike at time period [38, 40]. Use bin_width of 2 instead. For consistency, use solid boxes in fre.eps and rfe.eps as well. Also "set xtic out" to make those tics be easily seen. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-02-08memorder: Add closing paragraph to QQ6.31Paul E. McKenney1-0/+3
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-30memorder: Self-review January 30Paul E. McKenney1-2/+3
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-30CodeSamples/cpu: Finalize Akira's switch from .png to .epsPaul E. McKenney15-4/+22247
While in the area, fix a punctuation issue. Suggested-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-30CodeSamples/cpu/data: Use "smooth frequency" for plotting histogramAkira Yokosawa2-0/+125
Add gnuplot scripts for generating EPS plots. Use "smooth frequency" feature of gnuplot for plotting distribution histograms. Distribution data in coe.dat, fre.dat, and rfe.dat are converted on-the-fly into single-column data by using expand.pl as a filter. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-30CodeSamples/cpu/data/.../plots.sh: Fix typo in xlabel for fre plotAkira Yokosawa1-1/+1
Fix trivial typo in xlabel. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-30memorder: Wordsmith quick quiz on x86 memory orderingPaul E. McKenney1-5/+5
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-30memorder: Tweak size of figures in Answer to QQz on x86 memory orderingAkira Yokosawa1-7/+7
The use \columnwidth results in too large figures in -1c and -eb builds. Instead, use \twocolumwidth (\columnwidth of 2c build) and make them more or less similarly scaled. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-30CodeSamples/cpu: Remove old experimental coe/fre/rfe dataPaul E. McKenney14-243408/+0
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-30CodeSamples/cpu: Update coe/fre/rfe data to that of clean script runPaul E. McKenney23-83/+185472
[ paulmck: For github, replace oversized coe.out with coe.out.tar.xz. ] Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-22memorder: Add quick quiz on x86 memory orderingPaul E. McKenney8-1/+1751
TL;DR: x86 CPUs have store buffers and they are not afraid to use them! Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-22CodeSamples/cpu: Take nthreads times the samples for coePaul E. McKenney1-1/+10
For fre and rfe, there are nthreads samples per run, but only one sample per run for coe. Therefore, make perftemporal.sh compensate by running coe.sh nthreads times more often. All in pursuit of pretty graphs! Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-22CodeSamples/cpu: Add tweaked kerneltest009.05.atn6 dataPaul E. McKenney3-700/+700
And this need for tweaking is one reason that it will be replaced! Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-22CodeSamples/cpu: Make perftemporal.sh calibrate the timestampsPaul E. McKenney1-0/+1
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-22CodeSamples/cpu: Document temporal.c "COE-write" outputPaul E. McKenney1-0/+4
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-22CodeSamples/cpu: Make fre.sh measure properlyPaul E. McKenney1-1/+1
This commit causes fre.sh to measure from the beginning of the last load returning the old value to the end of store of the new value. Negative numbers mean that the load started after the store completed in global time. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-22CodeSamples/cpu/data: Add kerneltest009.05.atn6 dataPaul E. McKenney14-0/+243408
This data was generated from buggy code, so will be replaced. However, in the meantime, it is memorialized here. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-22CodeSamples/cpu: Make perftemporal.sh collect coe-nvals dataPaul E. McKenney1-1/+4
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-22CodeSamples/cpu: Add scripts to process coe valuesPaul E. McKenney3-0/+176
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-20count: Update QQ 5.46Akira Yokosawa1-6/+30
Commit cee469f9a7aa ("api: Switch x86 atomics to gcc C11-like atomics") changed the definition of atomic_set() as follows: #define atomic_set(v, i) \ __atomic_store_n(&(v)->counter, (i), __ATOMIC_RELAXED) Previously, it was defined for x86 as follows: #define atomic_set(v, i) (((v)->counter) = (i)) QQ 5.46 assumed the old definition and it can confuse those who have followed the definition under CodeSamples/. Reword QQ 5.46 to prevent such confusions. Add a related QQ asking the need of atomic operation for atomic_set(). Reported-by: Hao Lee <haolee.swjtu@gmail.com> Link: https://lore.kernel.org/perfbook/20230517120110.GA23586@haolee.io/ Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-20count_lim_atomic.c: Enclose complex loop with {}Akira Yokosawa1-2/+3
Let's get consistent with coding style of Linux kernel. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-20CodeSamples/cpu: Add a perftemporal data-collection scriptPaul E. McKenney1-0/+72
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-20CodeSamples/cpu: Add usage comment to temporalhist.shPaul E. McKenney1-0/+6
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-20CodeSamples/cpu: Add a coe.sh scriptPaul E. McKenney1-0/+64
The new coe.sh script is similar to fre.sh and rfe.sh, designed to run tests showing that the coe relation (C++ modification order) can be counter-temporal. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-20CodeSamples/cpu: Add coe write timesPaul E. McKenney1-0/+19
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-07appendix/toyrcu: Add missing parentheses for rcu_quiescent_state()SeongJae Park1-3/+3
Some sentences on toyrcu.tex is missing parentheses for rcu_quiescent_state(). Add those. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-07appendix/toyrcu: Use \co{} for spin toolSeongJae Park1-1/+1
formalregress.tex is using \co{} for spin tool, especially when mentionging it together with Promela. A sentence in toyrcu.tex is not using \co{} for same representation. Use \co{} for consistency. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-07appendix/toyrcu: Add missing parenthesesSeongJae Park1-1/+1
A sentence on toyrcu.tex is missing enclosing code with parentheses, unlike other parts on the sentence. Add the parentheses to be consistent. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-07gitlab-ci.yml: Install librsvg instead of inkscapeAkira Yokosawa1-1/+1
On Arch Linux, rsvg-convert is provided in the librsvg package. Install it instead of inkscape. Using rsvg-convert can shorten runtime of CI job for building PDFs a bit. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Tested-by: Leonardo Bras <leobras.c@gmail.com> Acked-by: Leonardo Bras <leobras.c@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-07docker: Add packages for rsvg-convertAkira Yokosawa2-7/+4
Make rsvg-convert available in these container images. Also go forward to Fedora 39 as the regression of font info corruption observed in Fedora 38 has been resolved. Keep inkscape as well so that the resulting container images can work on top of Git repos before January 2024. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-07FAQ-BUILD: List package for rsvg-convert in package listsAkira Yokosawa1-4/+19
Instead of inkscape, name package for rsvg-convert. Unfortunately, the package name varies wildly among distros. Adjust surrounding text accordingly. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-07cartoons: Retouch r-2014-Memory-barrier.svgAkira Yokosawa2-1/+1131
r-2014-Memory-barrier.svg was drawn by Inkscape 0.48.3.1. Recent versions of rsvg-convert have trouble with outlined text in the cartoon. Retouch the figure by importing a properly rendered PDF into modern Inkscape and saving it as r-2023-Memory-barrier.svg. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-07Makefile: Use rsvg-convert anyway if no inkscape is foundAkira Yokosawa1-0/+3
Even if rsvg-convert is too young and its SVG --> PDF conversion sometimes results in poor-looking figures, using it is much better than giving up the conversion at all. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-07Makefile: Allow rsvg-convert 2.52Akira Yokosawa1-1/+13
rsvg-convert 2.52.5 (on Ubuntu 22.04 LTS) output PDF 1.5 by default and is good enough for perfbook. Add rules for using it in SVG --> PDF conversion. rsvg-convert versions >= 2.54 and < 2.57 default to PDF 1.7 and don't have option of --format pdf1.5. Avoid using those interim versions by default. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-07Makefile: Don't use rsvg-convert < 2.57Akira Yokosawa1-4/+12
rsvg-convert versions prior to 2.57 doesn't recognize options for specifying output PDF version. Default PDF output version depends on the version of rsvg-convert. Version 2.57's default is PDF 1.7. For the moment, don't use younger versions of rsvg-convert. Use inkscape as a fallback. For rsvg-convert >= 2.57, specify --format=pdf1.5, which matches inkscape's default behavior. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-07Makefile: Add rules to use rsvg-convert for SVG --> PDF conversionAkira Yokosawa1-5/+20
Recently, Inkscape has had a number of stability issues in both of its GUI- and CLI- modes. We have experienced crashes of CLI-mode Inkscape caused by a change in glib, which can been resolved by an update in the GTK3 library now released in GTK 3.24.39. Commit f307e19f2be0 ("Prevent inkscape from interacting with desktop manager") was an ugly hack for mitigating such crashes. There is an alternative converter called rsvg-convert. It is a light-weight CLI-only converter. Up until Ubuntu 20.04 LTS, rsvg-convert's coverage of SVG features was not good enough for some of the figures in perfbook drawn by using Inkscape. rsvg-convert has improved since, and version 2.52.5, which is the version on Ubuntu 22.04 LTS, and later versions do fairly good jobs in this respect. So let's use rsvg-convert when it is available. For Ubuntu and Debian, rsvg-convert belongs to the librsvg2-bin package. For Fedora, it is provided in the librsvg2-tools package. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2024-01-03toolsoftrade: fix a typo: manpages should be man pagesZhouyi Zhou1-1/+1
According to [1][2], manpages should be man pages or man-pages. [1] https://en.wikipedia.org/wiki/Man_page [2] https://www.kernel.org/doc/man-pages/ Signed-off-by: Zhouyi Zhou <zhouzhouyi@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-12-30cpu: make Quick Quiz 3.6 more explicitZhouyi Zhou1-1/+2
Rewrite Quick Quiz 3.6 for clarity and explicitness, so that the firsttime reader know that another choice is CPU 0 sharing a core with CPU 1. This change was identified by Chinese version editor Yunjing Li in the course of translating the book to Chinese. Reported-by: Chinese version editor YunJing Li Signed-off-by: Zhouyi Zhou<zhouzhouyi@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-12-30howto: make 'git archive' in answer to QQ1.3 explicitZhouyi Zhou1-1/+3
Make "git archive" in answer to Quick Quiz 1.3 more explicit by adding a footnote, so that a first-time reader, who have never read Section 1.5, can easily know how to clone the Git repo and build PDFs. Suggested-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Zhouyi Zhou<zhouzhouyi@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-12-30CodeSamples/cpu: Adjust copyright noticesPaul E. McKenney4-4/+6
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-12-30appendix/questions/after: Use \co{}SeongJae Park1-1/+1
Some code snippets in after.tex are not enclosed with \co{}. Enclose those. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-12-30appendix/questions/after: Use \qco{} for quoting codeSeongJae Park1-5/+5
after.tex is using ``...'' for quoting some variables of a code snippet. Use \qco{} instead. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-12-14CodeSamples/cpu: Add temporalhist.sh to create histogramsPaul E. McKenney1-0/+42
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-12-14CodeSamples/cpu: Add tscalibrate.c to calibrary get_timestamp()Paul E. McKenney3-1/+172
Result in nanoseconds. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-12-14CodeSamples/cpu: Add benchmark for load/store communicationPaul E. McKenney5-1/+395
The point is to illustrate that rfe is temporal, while fre can be anti-temporal. The underlying temporal.c file can also produce data for coe, but scripts to reduce that data are still TBD. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-12-14future/formalregress: Use seL4 consistentlySeongJae Park1-6/+6
formalregress.tex is using mixed use of SEL4 and seL4. SEL4 is used 8 times, while seL4 is used twice over the entire repository. That said, seL4 seems the intended name since their website[1] uses the name. Use seL4 consistently. [1] https://sel4.systems/ Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-12-02future/formalregress: Use \co{} for spinSeongJae Park1-2/+2
formalregress.tex is using \co{} for spin in most cases. Use it always for better consistency. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-12-02future/htm: Use \co{} in favor of $$SeongJae Park1-1/+1
A sentence in htm.tex is using $$ for a code snippet. Use \co{} instead. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-12-02future/htm: Remove unnecessary extra 'and'SeongJae Park1-1/+1
A sentence in future/htm.tex is having 'and' unnecessarily. Probably just a typo. Remove it. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-12-02future/tm: Consistently add dash between reader and writer of reader-writer lockSeongJae Park1-1/+1
The text is using 'reader-writer lock' consistently, but a sentence in tm.tex is missing the dash. Add it. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-12-02future/tm: Add introduction of TM-availabe options for lockingSeongJae Park1-0/+2
'Locking' section provides TM-available options without any introduction of it, unlike other sections. Add it. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-12-02future/tm: Remove unnecessary spacesSeongJae Park1-2/+2
A couple of sentences in future/tm.tex are having two spaces between two words unnecessarily. Remove one. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-11-20SMPdesign: Clarify "Inman" for QQ6.3Paul E. McKenney1-1/+2
Reported-by: ma jun <yztaoj@outlook.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-11-20Codesamples/cpu: Capture lscpu and cpuinfoPaul E. McKenney1-0/+3
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-11-20toolsoftrade: Fix "thead' typoPaul E. McKenney1-1/+1
Reported-by: ma jun <yztaoj@outlook.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-11-20howto: Clarify "copy-pasta" idiomPaul E. McKenney1-9/+12
Reported-by: ma jun <yztaoj@outlook.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-11-09perfbook-lt: Set PDF metadata from LaTeX title and authorPaul E. McKenney1-1/+1
Reviewed-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-11-07Load xcolor before loading newtxtextAkira Yokosawa1-1/+1
newtxtext v1.73 loads xcolor for its new option called "supscolor" without any options. This conflicts with the later loading of xcolor with the option list of [table,svgnames]. Resolve it by loading xcolor with our option list just before loading newtxtext. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-10-31Update RCU-test-ratio plot as of v6.6Akira Yokosawa2-770/+805
Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-10-27count: Make perf.sh adapt to the number of CPUsPaul E. McKenney1-15/+15
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-10-27debugging: Add Coccinelle as a static-analysis toolPaul E. McKenney1-3/+3
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-10-27debugging: Add Coccinelle to list of static analyzersPaul E. McKenney2-2/+8
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-10-27Bibliography updatePaul E. McKenney1-0/+24
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-10-20Prevent inkscape from interacting with desktop managerAkira Yokosawa1-10/+4
Crashes of command-line Inkscape happens when it exits too soon before it can be properly removed from window manager's list of applications it is aware of. Glib 2.75.3 has removed GSlice allocator [1], which was permissive about UAF issues. Question is, "why is the command-line Inkscape registered in such a list in the first place?" There is mention of an option named "--without-gui" in Inkscape's wiki page on "Using the Command Line" [2]: The --without-gui option has been removed. Most parameters trigger Inkscape to run without GUI by default now. Instead enable GUI mode specifically using --with-gui if needed. However, current Inkscape does *initialize* itself as a GUI application regardless of the need of GUI. Alternatively, Inkscape can be forced to run isolated from window/ desktop managers with bogus strings set to a couple of env variables. After some tries and errors, these two env variables turned out to be essential here: - XDG_RUNTIME_DIR - DBUS_SESSION_BUS_ADDRESS Update Makefile and set bogus strings to them, which sounds a little rough but should be better than ignoring error codes, after reverting commits: - c2f9a99366b3 ("Ignore error of unstable Inkscape") - a01629a5f734 ("Make sure all PDF conversions are complete") This change resolves crashes of Inkscape observed under Fedora 38, Fedora 39 beta, Ubuntu 23.04, and openSUSE tumbleweed. [1]: https://gitlab.gnome.org/GNOME/glib/-/issues/1079 [2]: https://wiki.inkscape.org/wiki/index.php/Using_the_Command_Line Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-10-17cpu: Add scripts to overview system cache latenciesPaul E. McKenney2-0/+133
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-10-15defer: Add r1 and r2 values to RCU ordering diagramsPaul E. McKenney3-36/+85
Reported-by: Saravanan D <saravanand@fb.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-10-15memorder: Update of ordering SSE non-temporal memory move instructionsAkira Yokosawa1-2/+4
Since Linux v4.15, smp_mb(), smp_wmb(), and smp_rmb() don't suffice for ordering them. Update the text accordingly and add a footnote. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-10-15memorder: Add info on recent x86 implementation of smp_mb()Joel Fernandes (Google)1-0/+10
smp_mb() uses lock;add for x86 in the linux kernel. Add information about the same. Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org> Co-developed-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-10-15bib/memorymodel: Add Tsirkin2017Joel Fernandes (Google)1-0/+10
Add entry of Linux kernel git commit 450cbdd0125c ("locking/x86: Use LOCK ADD for smp_mb() instead of MFENCE"). Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org> Co-developed-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-10-13Make sure all PDF conversions are completeAkira Yokosawa1-0/+4
Crashes of Inkscape can disturb parallel runs of SVG --> PDF conversions. Add a sub-make run of "make -j1 figs" in the early stage of latex run to make sure any missing PDF figures can be prepared in time. Note: If GNUmake's dependency check is perfect, when there were any missing PDF files remaining, the recipe of autodate.tex shouldn't run. Unfortunately, it looks like that is not the case. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-10-13Ignore emergency-save SVG files from InkscapeAkira Yokosawa2-3/+6
When Inkscape is terminated by an error, it saves the SVG file it was processing into an emergency-save SVG file. In perfbook, this results in extra SVG files such as: - advsync/rt-regimes.svgi.2023_MM_DD_hh_mm_ss.0.svg - datastruct/hashzu-a.svgi.2023_MM_DD_hh_mm_ss.0.svg Ignore those files in successive runs of make and remove them in "make clean", "make cleanfigs", and "make cleanfigs-svg". Update .gitignore as well. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-10-13Ignore error of unstable InkscapeAkira Yokosawa1-0/+5
Recently, conversions of SVG --> PDF are hit by unstability of command-line runs of Inkscape under the GNOME session/window manager. There is an issue ticket at the upstream Inkscape repository [1]. It was closed after a bugfix in glib2, but Fedora 38 has not received the fix. Furthermore, pre-release Fedora 39, as well as openSUSE tumbleweed, still has the very similar symptoms. As a matter of fact, the conversion is properly finished most of the time when the Inkscape error happened. So let's add a make variable IGNORE_INKSCAPE_ERROR and ignore error code from Inkscape when it is enabled. It is enabled by default. [1] Issue #4177 "glib2 2.76.0 breaks Command Line export" at https://gitlab.com/inkscape/inkscape/-/issues/ Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-10-13CodeSamples/cpu: Update script header commentsPaul E. McKenney2-1/+6
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-10-13concurrentparallel: More on logical concurrency and physical parallelismPaul E. McKenney1-10/+28
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-10-08bib/TM: Make Le:2015:TMS:3266491.3266500 trade marks upper caseZhouyi Zhou1-1/+1
Signed-off-by: Zhouyi Zhou <zhouzhouyi@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-10-01together/microopt: Move micro-optimization sectionPaul E. McKenney3-259/+271
This move is in preparation for adding a new data-structure chapter. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-10-01defer/rcuusage: Add Matt Kline GC/RCU analogyPaul E. McKenney2-3/+14
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-26bib/swtools: Fix bib info of JonathanCorbet2019KCSANAkira Yokosawa1-4/+4
It looks like most fields were not updated when copy pasted from JonathanCorbet2016C11atomics in memorymodel.bib. Replace them with those of named LWN article. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-24datastruct: Self-review, part 2 of 2Paul E. McKenney1-12/+34
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-24memorder: Make clear the scope of READ_ONCE()/WRITE_ONCE() heavy usesSeongJae Park1-1/+1
A sentence in memorder.tex is saying READ_ONCE() and WRITE_ONCE() will be heavily used in a section. But, it's widely used in the chapter. Modify the sentence to make it more clear. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-24memorder: Remove a redundant sentence for memory barrier strengthSeongJae Park1-2/+0
A sentence in memorder.tex explains the strength of smp_mb() and its cost. Then, a quick quiz having very same answer follows. Remove the sentence to reduce the redundancy. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-24memorder: Consistently use '\co{}' for 'herd'SeongJae Park1-1/+1
All sentences but one in memorder.tex use \co{} for herd. Use it consistently. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-24memorder: Consistently use \co{} instead of {\tt } for codeSeongJae Park1-21/+21
Some sentences in memorder.tex are using {\tt } for some code, while others use \co{}. Consistently use \co{}. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-24memorder: Remove braces for single line if-else blocksSeongJae Park1-6/+4
Code snippets in memorder.tex usually don't use braces for signle-line if blocks, like Linux kernel coding style. However, some code snippets use braces. Don't use the braces to be consistent. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-24memorder: Remove an empty fcvref blockSeongJae Park1-2/+0
memorder.tex is unnecessarily having one empty fcvref block. Remove it. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-24memorder: Add missing unbreakable spaces between 'values', 'and', and numbersSeongJae Park1-2/+2
A sentence in memorder.tex is missing unbreakable spaces. Add those. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-24memorder/memorder: Add a missing space between column name and 'column'SeongJae Park1-1/+1
A sentence in memorder.tex is missing a space between the column name and 'column'. Add it. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-24memorder: Fix typos: s/,/./SeongJae Park1-2/+2
Two sentences in memorder.tex are having commas instead of ending periods. Fix those. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-24datastruct: Self-review, part 1Paul E. McKenney1-33/+42
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-23memorder: Add QQ about non-load loads for address dependenciesPaul E. McKenney1-0/+19
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-23glossary: Add entries for address, control, and data dependenciesPaul E. McKenney1-0/+32
Reported-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-23Fix definition of \indexh for flat index pagesAkira Yokosawa1-1/+1
Current definition results in random original terms appearing in the flat index. Fix this by using "#3 #2" (second-level term) + (first-level term) for flat index. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-23memorder: Add index marker for smp_read_barrier_depends() as classic APIAkira Yokosawa1-1/+1
Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-23memorder: Add index markers for 'address/control/data dependency', take 2Akira Yokosawa1-4/+7
Add a few more index markers. Note that the macro \IXpl{} and its friends don't work for the plural form of "dependencies". \IXalth{}{}{} is used instead. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-23memorder: Add index markers for 'address/control/data dependency', take 1Akira Yokosawa2-3/+6
Add index markers of bold face for "address dependency", "control dependency", and "data dependency" at their corresponding sections in memorder. (hierarchical form) - Dependency address control data with additional "see xxxx" entries as follows: - Address dependency, see Dependency, address - Control dependency, see Dependency, control - Data dependency, see Dependency, data (flat form) - Address dependency - Control dependency - Data dependency Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-17memorder: Fix word choice (data dependencies --> address dependencies)Akira Yokosawa1-2/+2
There remain obsolete word choices of "data dependencies" in section Alpha. It is load-to-load address dependencies that other archs respect. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-11defer/rcuusage: Add citations for LF Mentorship presentationsPaul E. McKenney1-1/+3
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-11Bibliography updatePaul E. McKenney1-0/+20
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-11memorder: Shrink Figures 15.1 and 15.2 in 2c buildsAkira Yokosawa1-2/+2
Figures 15.1 and 15.2 look unnecessarily large in 2c builds. Reduce their widths a bit by using \onecolumntextwidth. This change doesn't affect -1c and -eb builds. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-10memorder: Shrink ifthen.pdf in -1c and -eb buildsAkira Yokosawa1-1/+1
ifthen.pdf is tall and using \columnwidth makes it exceed paper height in -1c and -eb builds. .5\onecolumntextwidth (defined in preamble) gives reasonable size figures in all layouts. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-09memorder: Add if-then memory-ordering diagramPaul E. McKenney2-0/+670
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-09memorder: Put the simple stuff firstPaul E. McKenney1-491/+553
This commit moves the "Memory-Model Intuitions" section from the end to the beginning. After all, for many people, it will be all that they need from this chapter. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-07defer/rcuusage: Temper RCU/rwlock corroborationPaul E. McKenney1-1/+2
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-06defer/rcufundamental: Fix Figure 9.14 internal labelPaul E. McKenney1-66/+66
The "Reader precedes removal" needs to be "Reader precedes free". This commit makes it so. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-06defer/rcu: Stop encouraging unmarked access to shared dataPaul E. McKenney3-553/+638
Figure 9.11-9.13 show use of data-racy unmarked C-language accesses to shared variables, which is not something that should be encouraged. This commit therefore properly marks them. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-05Use margins/indents for twocolumn as defined in book classAkira Yokosawa1-0/+5
In perfbook.pdf, patches shown in Section 12.1.6.8 exceed the boxes surrounding them. Bisection points at commit 1063ddafb476 ("Get rid of 'twocolumn' option in \documentclass"). It turns out that there are a couple of indent and margin settings the geometry package does not take care of. Here is a list of such length parameters: - \parindent - \leftmargini - \leftmarginv - \leftmarginvi Those length are set shorter for the twocolumn option in book.cls and bk10.clo. Restore the previous behavior by explicitly setting them for twocolumn builds. Fixes: 1063ddafb476 ("Get rid of 'twocolumn' option in \documentclass") Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-09-05defer/rcuusage: Add arXiv work corroborating Figure 9.28Paul E. McKenney2-0/+12
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-29Update plot of RCU-test-ratio as of v6.5Akira Yokosawa2-634/+662
Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-29defer/rcuusage: Remove redundant question from answerPaul E. McKenney1-3/+2
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-18Use \raggedbottom for ebook-size buildsAkira Yokosawa1-0/+1
\flushbottom, which is the default of book class, is suited for typesetting double-sided printed documents. For ebook-size builds, which is one-sided, \flushbottom doesn't make much sense. \raggedbottom should be a better option as it prevents excessively tall vertical stretches between paragraphs and elsewhere. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-18qqz.sty: Work around orphaned section headingAkira Yokosawa1-1/+2
In ebook-size builds, tcolorbox occasionally complains: Package tcolorbox Warning: Using nobreak failed. Try to enlarge `lines before break' or set page breaks manually on input line xxxx. This warning is accompanied by an unfortunate page/column break just below a section heading in Appendix E. Make such ugly breaks less likely by enclosing the \section command with a pair of pagebreak/nopagebreak hints. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> -- You need to be very lucky to observe this issue. At the moment, you can observe it in perfbook-ebsf.pdf built on Ubuntu 22.04. Section E.18's heading goes to the bottom of page 1277. This change makes it go to the top of page 1278. -- qqz.sty | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-15defer/rcuusage: Update QQ 9.69 to note refctr spatio-temporal syncPaul E. McKenney1-0/+3
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-12bib/hw: Declare URL of MichaelLyons05a as brokenAkira Yokosawa1-1/+1
Looks like there is no way to see the article of 2005. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-12bib/hw: Salvage URL of HewlettPackard05a from archive.orgAkira Yokosawa1-3/+2
Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-12bib/hw: Salvage URL of MIPSvII-A-2016Akira Yokosawa1-1/+2
The landing page at the old URL has disappeared. Use the direct link to AWS instead. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-12bib/hw: Update CSIRAC entriesAkira Yokosawa1-7/+7
Museum Victoria Australia's web site was reorganized in 2020. It has a nice "CSIRAC Collection" page now. The page at University of Melboune was also expanded in 2017. Update their bibliographic info. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-11count: Solicit hard evidence for/against hardware atomic_incPaul E. McKenney1-1/+5
Reported-by: Yariv Aridor <yariv.aridor@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-04utilities/gitlab-ci: Fully update system before buildingLeonardo Bras1-2/+2
Some recent CI errors come from the incompatibility between packages pre-installed in the docker image and the ones installed via pacman. To avoid this, make a full system upgrade when installing the needed packages. Signed-off-by: Leonardo Bras <leobras.c@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-03bib/syncrefs.bib: Remove defunct Tom Dunlap interviewPaul E. McKenney1-11/+0
Reported-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-03bib/syncrefs: Salvage URL of PaulEMcKenney2011SeidnerInterviewAkira Yokosawa1-1/+4
Also add URL at web.archive.org as of April 2012 in a made-up field of "ArchiveURL". Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-03bib: Use lore for LKML archive, take 2Akira Yokosawa2-47/+25
Archive site at http://marc.theaimsgroup.com/ does not work any more. Looks like it is moved to https://marc.info/ and the same argument string works as it did at marc.theaimsgroup.com. Therefore, it is possible to search lore.kernel.org for the message-id based URL of the mail. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-03future/tm: Cite Draft Specification of Transactional Language Constructs for ↵Akira Yokosawa1-1/+1
C++ version 1.1 Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-03bib/TM: Add Draft Specification of Transactional Language Constructs for C++ ↵Akira Yokosawa1-2/+10
Version 1.1 As link to the 2009 version is now broken, add an entry for the 2012 version (Version 1.1). Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-03bib: Use links to lore.kernel.org for LKML archiveAkira Yokosawa7-93/+51
Links to http://lkml.iu.edu/hypermail/, https://lkml.org/lkml, and https://marc.info have their own ways of indexing mail messages (not based on message-ids). It should be better to use message-id based URLs for forward compatibility. As lore.kernel.org is expected to be stable and reliable going forward, remove "lastchecked" and "[Viewed MMMM DD, YYYY]" fields along the way. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-08-03count,seqlock: More feedback from Yariv AridorPaul E. McKenney2-13/+24
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-07-31toolsoftrade: Make intelligence warning more inclusivePaul E. McKenney1-5/+6
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-07-25debugging: Testing and static analysis as automated code reviewPaul E. McKenney1-1/+7
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-07-25debugging: Add "Proactive Hunting Techniques" sectionPaul E. McKenney1-2/+41
Reported-by: Johannes Weiner <hannes@cmpxchg.org> Reported-by: Nhat Pham <hoangnhatp@meta.com> Reported-by: Mykola Lysenko <mykolal@meta.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-07-25debugging: Expand on making rare events less rarePaul E. McKenney1-7/+18
Add some examples and make the section header more compelling Reported-by: Johannes Weiner <hannes@cmpxchg.org> Reported-by: Nhat Pham <hoangnhatp@meta.com> Reported-by: Mykola Lysenko <mykolal@meta.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-07-14SMPdesign: Specify sans-serif font in pstricks figuresAkira Yokosawa4-0/+12
The newtxtext package provides Helvetica-clone for sans-serif font family. As most other figures have sans-serif fonts with the help of fixfonts scripts, use it in pstricks figures for consistency. Compensate the slightly smaller look of the labels by using \large. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-07-14Don't run fixfonts for pstricks figuresAkira Yokosawa1-2/+0
fixfonts scripts don't have any effect on EPS files generated from pstricks + dvips. Font in the figures should be specified in the source .tex files. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-07-11memorder: Add QQ on rwlock intuitionsPaul E. McKenney1-0/+16
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-07-07runlatex.sh: Amend message on out-of-date cleverefAkira Yokosawa1-2/+2
Now that we have forget about Ubuntu bionic, reword the message on too old cleveref. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-07-07runlatex.sh: Fix typo (exerpt -> excerpt)Akira Yokosawa1-3/+3
Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-07-07run{first}latex.sh: Reorder checks of fatal error/warning messagesAkira Yokosawa2-25/+27
Testing $exitcode and "!pdfTeX error:" or "Emergency stop" early may ignore an earlier warning that tells the reason of such an error. Reorder the checks and make the relevant part of the log file be printed. $exitcode should be tested as late as possible. This improves output when a necessary .sty file is missing: before: or enter new name. (Default extension: sty) Enter file name: ! Emergency stop. <read *> l.332 \renewcommand {\sfdefault}{qhv} End of file on the terminal! Here is how much of TeX's memory you used: [...] after: LaTeX Info: Redefining \Bbbk on input line 2810. LaTeX Info: Redefining \not on input line 2959. ) ! LaTeX Error: File `biolinum.sty' not found. Type X to quit or <RETURN> to proceed, or enter new name. (Default extension: sty) Enter file name: ! Emergency stop. [...] Subsequent runs of latex can also abort due to, e.g., a typo in .bib. Keep tests of "Emergency stop." and $exitcode in runlatex.sh to catch such errors. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-07-07Silence font warning in sf (sans serif) buildsAkira Yokosawa3-0/+6
There are a couple of warnings in sf (sans serif) builds: LaTeX Font Warning: Font shape `T1/qhv/m/sl' in size <7.3> not available (Font) Font shape `T1/qhv/m/it' tried instead on input line 367. This is because the qhv (Helvetica clone) font family doesn't provide slanted shape to be used in the header area of the page (chapter and section title) and LaTeX uses its italic shape as a fallback. This is OK as italic and slanted shapes would look mostly the same for sans-serif font families. Suppress the warning by using the silence package. Giving "save" option to silence makes it save filtered-out warnings in $basename.sil. This is better than discarding silenced warnings. Add $basename.sil to .gitignore and Makefile's "clean" target. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-07-07Use minipage environment in \ebresizeverbAkira Yokosawa1-4/+2
In Ebook-size builds, tens of warnings from varwidth are emitted: Package varwidth Warning: Failed to reprocess entire contents on input line xxx. It turns out that this is due to the wrong use of varwidth package. Instead, the bare minipage environment suffices in \ebresizeverb. Stop using varwidth and get rid of those warnings. As a bonus, we no longer need ad-hoc \vspace*{} command at the bottom of its definition. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-07-07Prevent warning of duplicate page identifier in Ebook-size buildsAkira Yokosawa1-0/+3
In Ebook-size builds, pdfTeX complains: pdfTeX warning (ext4): destination with the same identifier (name{page.i}) has been already used, duplicate ignored As a workaround, disable pageanchor of hyperef for titlepage in Ebook-size builds. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-07-07Get rid of 'twocolumn' option in \documentclassAkira Yokosawa1-6/+7
There is a lingering warning from the multicol package (indirectly required by the idxlayout package) which reads: Package multicol Warning: May not work with the twocolumn option on input line 143. This is due to the twocolumn option in \documentclass at the top of preamble. It turns out that it can be removed with minor tweaks. One is the setting of \twocolumnwidth using \columnwidth for 2c builds. Column width set by geometry becomes accessible after \begin{document}. Previously, the twocolumn option at \documentclass permitted its use in the middle of preamble. Instead, always set it using the value of 3.125in. Another is the use of \sloppy. It is implied in the book class when the twocolumn option is specified. Its effect is to prefer wide inter-word white spaces to horizontal overfulls. For perfbook, \sloppy is used explicitly for eb builds. Do the same for 2c builds. For 1c builds, as they have wider margins, occasional overfulls should look better than wide inter-word spaces. Get rid of the warning by removing the twocolumn option and applying those minor tweaks. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-07-02treewide: Remove ignored first parameter of origpub macrosPaul E. McKenney26-81/+81
As they are no longer used thanks to \Cref, remove the first parameter from OriginallyPublished, RangeOriginallyPublished, ContributedBy, and QContributedBy. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-07-02origpub.sty: Ignore first parameter in favor of CrefPaul E. McKenney1-3/+3
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-29Advance TeX Live requirement to 2019/DebianAkira Yokosawa2-91/+9
As is mentioned in FAQ-BUILD.txt, TeX Live 2017/Debian under Ubuntu bionic needs manual upgrades of cleveref, epigraph, and glossaries-extra. Furthermore, glossaries-extra needs manual rollback to v1.48. LaTeX packages at CTAN tend to provide good backward compatibility with older TeX Live releases, but that is not a given. Furthermore, the manual rollback of glossaries-extra done in Dockerfile.bionic might fail once a future release changes its internal structure. As Ubuntu bionic went into its expanded security maintenance phase, let's advance the minimal requirement of TeX Live to 2019/Debian (Ubuntu focal). Remove Dockerfile.bionic and related notes in FAQ-BUILD.txt. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-27Update plot of RCU-test-ratio as of v6.4Akira Yokosawa2-729/+757
Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-26count: Wordsmith discussion of the two laws of physicsPaul E. McKenney1-1/+1
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-25count: Tie counter scalability back to laws of physicsPaul E. McKenney1-3/+10
Reported-by: Yariv Aridor <yariv.aridor@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-25cpu/overheads: Call out big atoms along with slow lightPaul E. McKenney1-1/+2
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-25cpu/hwfreelunch: Add vacuum-gap transistors and wordsmithPaul E. McKenney2-13/+29
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-25cpu/hwfreelunch: Move "3D Integration" section downPaul E. McKenney1-44/+47
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-25CodeSamples/tree: Fix compiler warning on freeLeonardo Brás1-5/+7
While building the CodeSamples/datastruct/Issaquah/ directory, I can see a couple instances of this warning: In function ‘free_treenode_cache’, inlined from ‘tree_remove_all’ at tree.c:102:2, inlined from ‘tree_free’ at tree.c:128:2: tree.c:251:9: warning: ‘free’ called on pointer ‘trp’ with nonzero offset 96 [-Wfree-nonheap-object] 251 | free(tnp); | ^~~~~~~~~ I took a look and tried to understand what was happening: - tree_remove_all() calls free_treenode_cache() on it's input, which ends up free()'ing it (!BAD_MALLOC) - It makes sense in most treenodes, since they are allocated with alloc_treenode_cache() and the malloc() output is the same as the free() input. - tree_free() calls tree_remove_all() on &trp->max, which ends up trying to free() this same address. - trp is a struct treeroot, which is composed of 2 treenodes: min & max - The output of malloc() for trp ends up being different from the address used for free(), since &trp->max is used instead, and there is an offset since max is the second element of struct treeroot. To solve this while keeping the tree_remove_all() generic, add a boolean free_node parameter to tree_remove_all() so the caller can decide if the node should be freed. The new boolean is true for normal treenodes, and false if the pointed treenode is contained in the struct treeroot. Signed-off-by: Leonardo Bras <leobras.c@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-23future/tm: Add STM contention-management sectionPaul E. McKenney1-16/+110
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-23future/tm: Sequence-locking case-study wordsmithingPaul E. McKenney1-1/+14
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-22future/tm: Add sequence-locking case studyPaul E. McKenney1-3/+77
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-22future/tm: TM-unfriendly operations and composabilityPaul E. McKenney1-0/+10
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-22future/tm: Sequence locking as practical STMPaul E. McKenney1-5/+10
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-22defer/hazptr: Hazard pointers voted into C++26Paul E. McKenney2-0/+12
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-22defer/rcurelated: RCU voted into C++26Paul E. McKenney2-1/+13
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-21defer/seqlock: Augment read_seqbegin() QQPaul E. McKenney1-4/+27
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-21Bibliography updatePaul E. McKenney1-0/+12
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-19appendix/questions: Address potential orphaned epigraphAkira Yokosawa1-7/+7
Commit 3566689d0c01 ("questions: Add section-level epigraphs") added an epigraph just above a figure environment. This makes cleverefcheck.pl complain: ./appendix/questions/time.tex:11:\begin{figure} ^^^ environment next to epigraph ^^^ Move the figure environment bottom of the first paragraph in the section and prevent the epigraph from (potentially) ending up in the bottom of a column/page. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-17questions: Add section-level epigraphsPaul E. McKenney7-0/+23
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-17questions/concurrentparallel: Add logical/physical perspectivePaul E. McKenney1-9/+16
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-17questions/removelocking: Expand on sound bitesPaul E. McKenney1-1/+2
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-17future: Add epigraph for summaryPaul E. McKenney1-0/+4
It might not be much of a section, but let's give it an epigraph anyway. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-16formal: Clarify time RCU was added to the Linux kernelPaul E. McKenney1-2/+2
The graph starts at v2.6.12, and for good reason, but RCU was added to the Linux kernel in v2.5.43, which is some years prior to the start of the graph. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-15Dockerfile: Make uid:gid = 0:0 the defaultAkira Yokosawa3-19/+16
Most container images at dockerhub and other repositories have uid:gid = 0:0 by default. This makes it possible to run commands to update or install packages after invoking such images. Furthermore, rootless-mode docker has become easier to install [1] and podman is rootless by default. Change the default uid:gid pair to 0:0 in our Dockerfiles. (Dockerfile.bionic will soon be removed and is not updated here) Update FAQ-BUILD.txt accordingly. Container images uploaded to akiyks/perfbook-build will be for rootless mode by default from now on. akiyks/perfbook-build-focal and akiyks/perfbook-build-fedora should be regarded as deprecated but will be kept for a while. Link: [1] https://docs.docker.com/engine/security/rootless/ Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-15docker/Dockerfile: Add poppler-utils packageAkira Yokosawa1-1/+1
Font markup info in PDF properties can be printed by the pdffonts command provided by the poppler-utils package. Add it for catching possible regression in Ubuntu's Inkscape. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-15docker/Dockerfile: Use 'latest' as the default tagAkira Yokosawa1-1/+2
ubuntu:jammy (22.04) based image works just fine for building perfbook. The tag of "latest" should work fine. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-15docker/Dockerfile.fedora: Stay with Fedora 37 for the momentAkira Yokosawa1-2/+9
Inkscape of Fedora 38 has a regression in font markup corruption in SVG --> PDF conversion. Stay with Fedora 37 by Using an ARG variable "rel" with its value of 37. Add poppler-utils package for the pdffonts command to see font markup in PDF properties. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-15FAQ-BUILD: Update nice-to-have fonts for SVG figuresAkira Yokosawa2-4/+8
The list for Fedora in the answer to #5 doesn't cover DejaVu and Liberation font families. Update A-2 of #9 to suggest packages for Fedora. Update docker/Dockerfile.fedora accordingly. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-15Makefile: Add 'DejaVu Sans' to nice-to-have fontsAkira Yokosawa2-3/+13
Under RHEL and Fedora, it is possible to install "DejaVu Sans Mono" alone. Add check of "DejaVu Sans" font in Makefile and print info on a nice-to-have font in case it is missing. Update FAQ-BUILD.txt accordingly. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-12utilities/toarxiv: Include .png figuresPaul E. McKenney1-1/+1
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-12fixsvgfonts.sh: Convert sans-serif into 'DejaVu Sans'Akira Yokosawa2-2/+2
Depending on fontconfig setting of a build system, it chooses one of available sans-serif font families for generic font in SVG files while SVG --> PDF conversion by Inkscape. utilities/fixsvgfonts{-urwps}.sh scripts explicitly converted it into "Nimbus Sans", which is a clone of Helvetica. "DejaVu Sans", which originated from "Bitstream Vera", is slightly wider than Helvetica and it is the fallback of Paul's setting. Update fixsvgfonts{-urwps}.sh so that the explicit conversion meets Paul's expectation. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-12memorder: Tweak Figure 15.2Akira Yokosawa1-22/+24
While the caption says "Intel Core 2 Architecture Simplified", it doesn't look simpler than Figure 15.1. To make it look simpler, raise blue shapes one level up and reduce their color saturation, with 75% opacity so that blocks underneath can be related to Figure 15.1. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-11defer/rcuapi: Embed Listing E.3 in Table E.3Akira Yokosawa1-31/+27
In 2c layout, Table E.3 goes to the next page of Listing E.3. This is partly due to the table* environment, but as both of them are floating, there is no sure way for them to be on the same page. Embed the listing at the bottom of the table so that they end up in the same page and adjust the wording in the text. For 2c layout, using the table* environment causes the snippet to look unnecessarily wide. Instead, shrink the table by using the \tcresizewidth macro and use the normal table environment. Suggested-by: Paul E. McKenney <paulmck@kernel.org> Link: https://www.spinics.net/lists/perfbook/msg04070.html Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-11advsync/rt: Mention the tree of Documentation/ directorySeongJae Park1-1/+1
A sentence in rt.tex is mentioning a file under Linux source tree's Documentation/ directory without the explanation of the tree. Add it so that readers can easily find the mentioned file. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-11advsync/rt: Update path to kernel-per-CPU-kthreads documentSeongJae Park1-1/+2
Linux commit 4f4cfa6c560c ("docs: admin-guide: add a series of orphaned documents") has moved Documentation/kernel-per-CPU-kthreads.txt to Documentation/admin-guide/kernel-per-CPU-kthreads.rst. Update the old path in advsync/rt.tex. Signed-off-by: SeongJae Park <sj38.park@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-11perfbook-lt: Update editor affiliationPaul E. McKenney1-1/+1
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-11utilities/torelease: Update git repo targetPaul E. McKenney1-1/+1
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-11defer/rcuapi: Tweak Table E.3v2023.06.11aAkira Yokosawa1-6/+11
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@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-11utilities/torelease: Add ebook PDF to final listPaul E. McKenney1-1/+1
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-09Revert "together/applyrcu: Note possibility of lost counts"Paul E. McKenney1-9/+0
This reverts commit 94f01e467566ebfaee77868cc02b747e8950ad0b. Reported-by: Alan Huang <mmpgouride@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2023-06-08advsync: Fix typosAlan Huang1-2/+2
Signed-off-by: Alan Huang <mmpgouride@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>