From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932498AbcHISwi (ORCPT ); Tue, 9 Aug 2016 14:52:38 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:35518 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932207AbcHISwb (ORCPT ); Tue, 9 Aug 2016 14:52:31 -0400 Cc: Andrew Morton , Davidlohr Bueso , Linux Kernel Mailing List , Susi Sonnenschein <1vier1@web.de> To: Michael Ellerman , Benjamin Herrenschmidt From: Manfred Spraul Subject: spin_lock implicit/explicit memory barrier Message-ID: Date: Tue, 9 Aug 2016 20:52:27 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Benjamin, Hi Michael, regarding commit 51d7d5205d33 ("powerpc: Add smp_mb() to arch_spin_is_locked()"): For the ipc/sem code, I would like to replace the spin_is_locked() with a smp_load_acquire(), see: http://git.cmpxchg.org/cgit.cgi/linux-mmots.git/tree/ipc/sem.c#n367 http://www.ozlabs.org/~akpm/mmots/broken-out/ipc-semc-fix-complex_count-vs-simple-op-race.patch To my understanding, I must now add a smp_mb(), otherwise it would be broken on PowerPC: The approach that the memory barrier is added into spin_is_locked() doesn't work because the code doesn't use spin_is_locked(). Correct? -- Manfred