Re: [PATCH] Documentation/memory-barriers: fix wrong comment in example

From: Paul E. McKenney
Date: Mon Feb 22 2016 - 11:33:35 EST


On Mon, Feb 22, 2016 at 11:16:39AM +0000, David Howells wrote:
> SeongJae Park <sj38.park@xxxxxxxxx> wrote:
>
> > From f7b5677790771599f418f1d95536935be971ae86 Mon Sep 17 00:00:00 2001
> > From: SeongJae Park <sj38.park@xxxxxxxxx>
> > Date: Mon, 22 Feb 2016 19:26:18 +0900
> > Subject: [PATCH] Documentation/memory-barriers: polish compiler store omit
> > example
> >
> > Comments of examples about compiler store omit in memory-barriers.txt is
> > about code that could be possible at that point. However, someone could
> > interpret the comment as an explanation about below line. This commit
> > exploits the intent more explicitly by changing the comment to be seems
> > like a possible code rather than explanation about below line.
> >
> > Signed-off-by: SeongJae Park <sj38.park@xxxxxxxxx>
> > ---
> > Documentation/memory-barriers.txt | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/Documentation/memory-barriers.txt
> > b/Documentation/memory-barriers.txt
> > index 904ee42..dc66351 100644
> > --- a/Documentation/memory-barriers.txt
> > +++ b/Documentation/memory-barriers.txt
> > @@ -1459,7 +1459,7 @@ of optimizations:
> > the following:
> >
> > a = 0;
> > - /* Code that does not store to variable a. */
> > + ... Code that does not store to variable a ...
> > a = 0;
> >
> > The compiler sees that the value of variable 'a' is already zero, so
> > @@ -1471,7 +1471,7 @@ of optimizations:
> > wrong guess:
> >
> > WRITE_ONCE(a, 0);
> > - /* Code that does not store to variable a. */
> > + ... Code that does not store to variable a ...
> > WRITE_ONCE(a, 0);
> >
> > (*) The compiler is within its rights to reorder memory accesses unless
>
> Acked-by: David Howells <dhowells@xxxxxxxxxx>

Thank you both! Patch with updated commit log below, please let me know
if you have any objections to the changes.

Thanx, Paul

------------------------------------------------------------------------

commit 0a41feb6ab4da3218192e2cde1a54fcc5d8f5658
Author: SeongJae Park <sj38.park@xxxxxxxxx>
Date: Mon Feb 22 08:28:29 2016 -0800

documentation: Clarify compiler store-fusion example

The compiler store-fusion example in memory-barriers.txt uses a C
comment to represent arbitrary code that does not update a given
variable. Unfortunately, someone could reasonably interpret the
comment as instead referring to the following line of code. This
commit therefore replaces the comment with a string that more
clearly represents the arbitrary code.

Signed-off-by: SeongJae Park <sj38.park@xxxxxxxxx>
Acked-by: David Howells <dhowells@xxxxxxxxxx>
Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>

diff --git a/Documentation/memory-barriers.txt b/Documentation/memory-barriers.txt
index 8367d393cba2..3729cbe60e41 100644
--- a/Documentation/memory-barriers.txt
+++ b/Documentation/memory-barriers.txt
@@ -1550,7 +1550,7 @@ of optimizations:
the following:

a = 0;
- /* Code that does not store to variable a. */
+ ... Code that does not store to variable a ...
a = 0;

The compiler sees that the value of variable 'a' is already zero, so
@@ -1562,7 +1562,7 @@ of optimizations:
wrong guess:

WRITE_ONCE(a, 0);
- /* Code that does not store to variable a. */
+ ... Code that does not store to variable a ...
WRITE_ONCE(a, 0);

(*) The compiler is within its rights to reorder memory accesses unless