Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751344AbdGQIYw (ORCPT ); Mon, 17 Jul 2017 04:24:52 -0400 Received: from mail-pf0-f194.google.com ([209.85.192.194]:34738 "EHLO mail-pf0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751257AbdGQIYu (ORCPT ); Mon, 17 Jul 2017 04:24:50 -0400 To: "Paul E. McKenney" From: Akira Yokosawa Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Akira Yokosawa Subject: [PATCH] documentation: Fix two-CPU control-dependency example Message-ID: <0d60072f-3848-a2b7-ce18-e1ed317b5c09@gmail.com> Date: Mon, 17 Jul 2017 17:24:42 +0900 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1656 Lines: 42 >From b798b9b631e237d285aa8699da00bfb8ced33bea Mon Sep 17 00:00:00 2001 From: Akira Yokosawa Date: Mon, 17 Jul 2017 16:25:33 +0900 Subject: [PATCH] documentation: Fix two-CPU control-dependency example In commit 5646f7acc95f ("memory-barriers: Fix control-ordering no-transitivity example"), the operator in "if" statement of the two-CPU example was modified from ">=" to ">". Now the example misses the point because there is no party who will modify "x" nor "y". So each CPU performs only the READ_ONCE(). The point of this example is to use control dependency for ordering, and the WRITE_ONCE() should always be executed. So it was correct prior to the above mentioned commit. Partial revert of the commit (with context adjustments regarding other changes thereafter) restores the point. Note that the three-CPU example demonstrating the lack of transitivity stands regardless of this partial revert. Signed-off-by: Akira Yokosawa --- Documentation/memory-barriers.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/memory-barriers.txt b/Documentation/memory-barriers.txt index c4ddfcd..c1ebe99 100644 --- a/Documentation/memory-barriers.txt +++ b/Documentation/memory-barriers.txt @@ -851,7 +851,7 @@ demonstrated by two related examples, with the initial values of CPU 0 CPU 1 ======================= ======================= r1 = READ_ONCE(x); r2 = READ_ONCE(y); - if (r1 > 0) if (r2 > 0) + if (r1 >= 0) if (r2 >= 0) WRITE_ONCE(y, 1); WRITE_ONCE(x, 1); assert(!(r1 == 1 && r2 == 1)); -- 2.7.4