From patchwork Thu Jun 2 11:52:01 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 629206 X-Patchwork-Delegate: pablo@netfilter.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3rL5NZ3C3zz9sxb for ; Thu, 2 Jun 2016 21:58:54 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932723AbcFBL5v (ORCPT ); Thu, 2 Jun 2016 07:57:51 -0400 Received: from merlin.infradead.org ([205.233.59.134]:50829 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932678AbcFBL5t (ORCPT ); Thu, 2 Jun 2016 07:57:49 -0400 Received: from j217100.upc-j.chello.nl ([24.132.217.100] helo=twins) by merlin.infradead.org with esmtpsa (Exim 4.85_2 #1 (Red Hat Linux)) id 1b8RFh-0002JF-Ib; Thu, 02 Jun 2016 11:57:29 +0000 Received: by twins (Postfix, from userid 0) id 5EC2C119CC225; Thu, 2 Jun 2016 13:57:29 +0200 (CEST) Message-Id: <20160602115439.024758256@infradead.org> User-Agent: quilt/0.61-1 Date: Thu, 02 Jun 2016 13:52:01 +0200 From: Peter Zijlstra To: linux-kernel@vger.kernel.org, torvalds@linux-foundation.org, manfred@colorfullife.com, dave@stgolabs.net, paulmck@linux.vnet.ibm.com, will.deacon@arm.com Cc: boqun.feng@gmail.com, Waiman.Long@hpe.com, tj@kernel.org, pablo@netfilter.org, kaber@trash.net, davem@davemloft.net, oleg@redhat.com, netfilter-devel@vger.kernel.org, sasha.levin@oracle.com, hofrat@osadl.org, peterz@infradead.org, Chris Metcalf Subject: [PATCH -v4 4/7] locking, tile: Provide TILE specific smp_acquire__after_ctrl_dep References: <20160602115157.249037373@infradead.org> MIME-Version: 1.0 Content-Disposition: inline; filename=peterz-tile-ctrl-dep.patch Sender: netfilter-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netfilter-devel@vger.kernel.org Since TILE doesn't do read speculation, its control dependencies also guarantee LOAD->LOAD order and we don't need the additional RMB otherwise required to provide ACQUIRE semantics. Acked-by: Chris Metcalf Signed-off-by: Peter Zijlstra (Intel) --- arch/tile/include/asm/barrier.h | 7 +++++++ 1 file changed, 7 insertions(+) -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html --- a/arch/tile/include/asm/barrier.h +++ b/arch/tile/include/asm/barrier.h @@ -87,6 +87,13 @@ mb_incoherent(void) #define __smp_mb__after_atomic() __smp_mb() #endif +/* + * The TILE architecture does not do speculative reads; this ensures + * that a control dependency also orders against loads and already provides + * a LOAD->{LOAD,STORE} order and can forgo the additional RMB. + */ +#define smp_acquire__after_ctrl_dep() barrier() + #include #endif /* !__ASSEMBLY__ */