Feedback on Chapter 9
Hi Paul,
I have a few comments on Chapter 9.
1st one is on the description of Figure 9.5.
When one reads the following,
Quoted 2 lines
The ``ideal'' trace was generated by running the sequential code shown in Figure 9.2.
one might wonder, "Wait, why a sequential code scales with the number of CPUs (threads)?"
Of course, route_lookup() of Figure 9.2 can be run concurrently on multiple CPUs. But it might not be obvious for a novice reader. Maybe you can make this as a Quick Quiz.
2nd one is for Figure 9.33.
Here, RCU QSBR (quiescent-state-based-reclamation) is mentioned. However, there seems to be no explanation of what actually it is. Do you plan to add some explanation or reference?
Thanks, Akira
Quoted 17 lines · Akira Yokosawa
Hi Paul,
I have a few comments on Chapter 9.
1st one is on the description of Figure 9.5.
When one reads the following,Quoted 2 lines
The ``ideal'' trace was generated by running the sequential code shown in Figure 9.2.
one might wonder, "Wait, why a sequential code scales with the number of CPUs (threads)?"
Of course,
route_lookup()of Figure 9.2 can be run concurrently on multiple CPUs. But it might not be obvious for a novice reader. Maybe you can make this as a Quick Quiz.
Quoted 5 lines
2nd one is for Figure 9.33.
Here, RCU QSBR (quiescent-state-based-reclamation) is mentioned. However, there seems to be no explanation of what actually it is. Do you plan to add some explanation or reference?
It seems like it is (essentially) the same as "RCU Based on Quiescent States" described in Section 9.5.5.9, isn't it?
If it is, it might be enough to just add a reference to the section and use a consistent abbreviation.
Also, Quick Quiz 9.72 is essentially the same as Quick Quiz 9.26, isn't it? It seems like we need some more tweaks to improve overall consistency.
And here are some additional feedback regarding Chapter 9:
* In Answer of Quick Quiz 9.28, SRCU and "RCU Classic" appear for the first time (if you are reading Chapter 9 from the beginning) without any explanation of what they are.
* Just after Quick Quiz 9.30, discussion on LKML is mentioned. "git blame" shows that this sentence was there in the initial commit in 2008. we need a reference here. Also, Section 9.2 is mentioned as a summary of the discussion, but Section 13.2 seems like where the summary exists now.
Thanks, Akira
Quoted 3 lines
Thanks, Akira
Quoted 4 lines · Akira Yokosawa
Quoted 3 lines · Akira Yokosawa
Hi Paul,
I have a few comments on Chapter 9.
Thank you for the review and comments!
Quoted 6 lines
Quoted 6 lines
1st one is on the description of Figure 9.5.
When one reads the following,Quoted 2 lines
The ``ideal'' trace was generated by running the sequential code shown in Figure 9.2.
Quoted 6 lines
Quoted 6 lines
one might wonder, "Wait, why a sequential code scales with the number of CPUs (threads)?"
Of course,
route_lookup()of Figure 9.2 can be run concurrently on multiple CPUs. But it might not be obvious for a novice reader. Maybe you can make this as a Quick Quiz.
I like that idea, but I already have a pair of Quick Quizzes there, so I added the following:
which works only because this is a read-only workload.
With a bit more context:
The "ideal" trace was generated by running the sequential code shown in Figure 9.2, which works only because this is a read-only workload.
Quoted 8 lines
Quoted 5 lines
2nd one is for Figure 9.33.
Here, RCU QSBR (quiescent-state-based-reclamation) is mentioned. However, there seems to be no explanation of what actually it is. Do you plan to add some explanation or reference?
It seems like it is (essentially) the same as "RCU Based on Quiescent States" described in Section 9.5.5.9, isn't it?
Good point, but Figure 9.19 is an earlier example. I added the definition in the discussion of this figure, and then a backwards reference from the discussion of Figure 9.33 to both Figure 9.19 and the section it appears in.
Quoted 5 lines
If it is, it might be enough to just add a reference to the section and use a consistent abbreviation.
Also, Quick Quiz 9.72 is essentially the same as Quick Quiz 9.26, isn't it? It seems like we need some more tweaks to improve overall consistency.
I am happy having them both, given that this is often a point of confusion. What tweaks would you like to see? (I should probably remove the "WTF?", if that is your concern.)
Quoted 5 lines
And here are some additional feedback regarding Chapter 9:
* In Answer of Quick Quiz 9.28, SRCU and "RCU Classic" appear for the first time (if you are reading Chapter 9 from the beginning) without any explanation of what they are.
I changed the SRCU primitives into RCU primitives, and then changed "RCU Classic" into "RCU QSBR".
Quoted 5 lines
* Just after Quick Quiz 9.30, discussion on LKML is mentioned. "git blame" shows that this sentence was there in the initial commit in 2008. we need a reference here. Also, Section 9.2 is mentioned as a summary of the discussion, but Section 13.2 seems like where the summary exists now.
Good catch! I removed the "LKML" and updated the reference to Section 13.2, as you suggested.
Thanx, Paul