From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:47909 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752472AbcGYAgX (ORCPT ); Sun, 24 Jul 2016 20:36:23 -0400 Received: from pps.filterd (m0098393.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.11/8.16.0.11) with SMTP id u6P0XM4i094469 for ; Sun, 24 Jul 2016 20:36:22 -0400 Received: from e38.co.us.ibm.com (e38.co.us.ibm.com [32.97.110.159]) by mx0a-001b2d01.pphosted.com with ESMTP id 24c1fhkepg-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Sun, 24 Jul 2016 20:36:22 -0400 Received: from localhost by e38.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Sun, 24 Jul 2016 18:36:21 -0600 Received: from b01cxnp22036.gho.pok.ibm.com (b01cxnp22036.gho.pok.ibm.com [9.57.198.26]) by d03dlp03.boulder.ibm.com (Postfix) with ESMTP id 9E21819D803F for ; Sun, 24 Jul 2016 18:35:47 -0600 (MDT) Received: from d01av01.pok.ibm.com (d01av01.pok.ibm.com [9.56.224.215]) by b01cxnp22036.gho.pok.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u6P0aBpR62324934 for ; Mon, 25 Jul 2016 00:36:12 GMT Received: from d01av01.pok.ibm.com (localhost [127.0.0.1]) by d01av01.pok.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u6P0aBiK025950 for ; Sun, 24 Jul 2016 20:36:11 -0400 Date: Sun, 24 Jul 2016 17:36:40 -0700 From: "Paul E. McKenney" Subject: Re: Feedback on Chapter 9 Reply-To: paulmck@linux.vnet.ibm.com References: <7bff1de1-8f99-4e2f-4384-8a22f2c71d55@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7bff1de1-8f99-4e2f-4384-8a22f2c71d55@gmail.com> Message-Id: <20160725003640.GZ7094@linux.vnet.ibm.com> Sender: perfbook-owner@vger.kernel.org List-ID: To: Akira Yokosawa Cc: perfbook@vger.kernel.org On Sat, Jul 23, 2016 at 08:06:16PM +0900, Akira Yokosawa wrote: > On 2016/07/21 23:56:25 +0900, Akira Yokosawa wrote: > > Hi Paul, > > > > I have a few comments on Chapter 9. Thank you for the review and comments! > > 1st one is on the description of Figure 9.5. > > When one reads the following, > > > >> 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. 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. > > 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. > 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.) > 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". > * 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