diff for duplicates of <57631BBA.9070505@hpe.com> diff --git a/a/1.txt b/N1/1.txt index 44284d0..f54ed06 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -56,12 +56,12 @@ On 06/15/2016 10:19 PM, Boqun Feng wrote: > loop with no barrier on ARM64v8. This means the following code: > > CPU 0 CPU 1 (next) -> ======================== ================== +> ============ ========= > WRITE_ONCE(x, 1); r1 = smp_load_acquire(next->locked, 1); > xchg_release(&node->next, NULL); r2 = READ_ONCE(x); > WRITE_ONCE(next->locked, 1); > -> could result in (r1 == 1&& r2 == 0) on ARM64v8, IIUC. +> could result in (r1 = 1&& r2 = 0) on ARM64v8, IIUC. If you look into the actual code: @@ -75,8 +75,7 @@ There is a control dependency that WRITE_ONCE() won't happen until xchg_release() returns. For your particular example, I will change it to CPU 0 - =================== - WRITE_ONCE(x, 1); + ========= WRITE_ONCE(x, 1); xchg_relaxed(&node->next, NULL); smp_store_release(next->locked, 1); diff --git a/a/content_digest b/N1/content_digest index 881631f..e8ca910 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -5,7 +5,7 @@ "ref\020160616021951.GA16918@insomnia\0" "From\0Waiman Long <waiman.long@hpe.com>\0" "Subject\0Re: [RFC PATCH-tip v2 1/6] locking/osq: Make lock/unlock proper acquire/release barrier\0" - "Date\0Thu, 16 Jun 2016 17:35:54 -0400\0" + "Date\0Thu, 16 Jun 2016 21:35:54 +0000\0" "To\0Boqun Feng <boqun.feng@gmail.com>\0" "Cc\0Peter Zijlstra <peterz@infradead.org>" Ingo Molnar <mingo@redhat.com> @@ -81,12 +81,12 @@ "> loop with no barrier on ARM64v8. This means the following code:\n" ">\n" "> \tCPU 0\t\t\t\t\tCPU 1 (next)\n" - "> \t========================\t\t==================\n" + "> \t============\t\t=========\n" "> \tWRITE_ONCE(x, 1);\t\t\tr1 = smp_load_acquire(next->locked, 1);\n" "> \txchg_release(&node->next, NULL);\tr2 = READ_ONCE(x);\n" "> \tWRITE_ONCE(next->locked, 1);\n" ">\n" - "> could result in (r1 == 1&& r2 == 0) on ARM64v8, IIUC.\n" + "> could result in (r1 = 1&& r2 = 0) on ARM64v8, IIUC.\n" "\n" "If you look into the actual code:\n" "\n" @@ -100,8 +100,7 @@ "xchg_release() returns. For your particular example, I will change it to\n" "\n" " CPU 0\n" - " ===================\n" - " WRITE_ONCE(x, 1);\n" + " ========= WRITE_ONCE(x, 1);\n" " xchg_relaxed(&node->next, NULL);\n" " smp_store_release(next->locked, 1);\n" "\n" @@ -111,4 +110,4 @@ "Cheers,\n" Longman -60df1b39c1a8ef0524744c5109a3c5c8bf1db1ac5ba7604f940512042efcb3f4 +b1991ee0ba74479215c4949685da5984c868f43abc4a733d58ca4382e534c03a
diff --git a/a/content_digest b/N2/content_digest index 881631f..0326fc2 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -9,12 +9,12 @@ "To\0Boqun Feng <boqun.feng@gmail.com>\0" "Cc\0Peter Zijlstra <peterz@infradead.org>" Ingo Molnar <mingo@redhat.com> - linux-kernel@vger.kernel.org - x86@kernel.org - linux-alpha@vger.kernel.org - linux-ia64@vger.kernel.org - linux-s390@vger.kernel.org - linux-arch@vger.kernel.org + <linux-kernel@vger.kernel.org> + <x86@kernel.org> + <linux-alpha@vger.kernel.org> + <linux-ia64@vger.kernel.org> + <linux-s390@vger.kernel.org> + <linux-arch@vger.kernel.org> Davidlohr Bueso <dave@stgolabs.net> Jason Low <jason.low2@hp.com> Dave Chinner <david@fromorbit.com> @@ -111,4 +111,4 @@ "Cheers,\n" Longman -60df1b39c1a8ef0524744c5109a3c5c8bf1db1ac5ba7604f940512042efcb3f4 +a46630f4e2ceef39ca931df6e88e669038c4bce5c14fc8cfe4476ecc79b52728
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.