Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4398447pxj; Tue, 25 May 2021 07:10:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwUWt5JMZiYkqlqgRuL4ApBkqD4rNqA4ch6OxXn/YoBF+sXOrG7ULVvyPgE5c6mrgjrAlr+ X-Received: by 2002:a05:6402:883:: with SMTP id e3mr31771104edy.1.1621951811814; Tue, 25 May 2021 07:10:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621951811; cv=none; d=google.com; s=arc-20160816; b=Z0rZ7IzpMqLPBsjDHM6GNIjmRaYLpjAJQejf6Cyw/vPaQJHdw7lNfdI7X9lr3LGSN5 nVliaqlW8lTzcdr+o3FrLUloniSSqJe3c73VfwAIVouFBJhvwNuGcZC5AIhMmWWY1+Rr frM38nEizKCG19FMHuCu4Dytr57zG9+mkqcdQywQgSyq0TCsTH4XMwM82cNCyLPsCfpi B+AjFHRQLh6ycO9srSasZAvxBiENW4YcwkXQ8O+sU+lxdOr8O2AbhMFu1VlIg59S0SKX 2RDBveI43kudMSCWjyaH2q6Ym8bnQsO9hBXSHQFu77I2X6kIta87guUMf/4Y4gkKJEs3 TwZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from; bh=yLh+L5PIypnN8J/vc+zL8VjIQpCIIjKotzMxxU8fuPU=; b=Yr0Om1uN5ha/A6agQmMrlLd17+rChoq7DE/2qTPD7kkdPK+sqjK44Ou5EGSalgVrXc 5Rx6kTdjsW7I7koEhXkK8UT3/PwD4Rw3I/DewtCFbcRrfvvghKsdSCWaoN1opd6JeG+W 0WdsfZtrbhc8yO0yGYZYqO3UimYab7H3X4NYtUKITBz37mJXYmLnnh/1O9GQyEHPql12 WAizeIJHOMPDn8fVx+8CfcJ7g61q1l2HKkuem5IIT29o17kYfEpgLYayiBYPD2ozgr/5 1O85kQMx99C8JhG6fVfFZtH9lpsgBuAqpMQSgSWa1A3qqOIsloqEdl6aZsj9G8DpjOYl 3s9g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bi14si15219996ejb.441.2021.05.25.07.09.49; Tue, 25 May 2021 07:10:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233663AbhEYOHg (ORCPT + 99 others); Tue, 25 May 2021 10:07:36 -0400 Received: from foss.arm.com ([217.140.110.172]:57624 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233508AbhEYOHf (ORCPT ); Tue, 25 May 2021 10:07:35 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 10160152D; Tue, 25 May 2021 07:06:01 -0700 (PDT) Received: from lakrids.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id B0E813F73D; Tue, 25 May 2021 07:05:56 -0700 (PDT) From: Mark Rutland To: linux-kernel@vger.kernel.org, will@kernel.org, boqun.feng@gmail.com, peterz@infradead.org Cc: aou@eecs.berkeley.edu, arnd@arndb.de, bcain@codeaurora.org, benh@kernel.crashing.org, chris@zankel.net, dalias@libc.org, davem@davemloft.net, deanbo422@gmail.com, deller@gmx.de, geert@linux-m68k.org, gerg@linux-m68k.org, green.hu@gmail.com, guoren@kernel.org, ink@jurassic.park.msu.ru, James.Bottomley@HansenPartnership.com, jcmvbkbc@gmail.com, jonas@southpole.se, ley.foon.tan@intel.com, linux@armlinux.org.uk, mark.rutland@arm.com, mattst88@gmail.com, monstr@monstr.eu, mpe@ellerman.id.au, nickhu@andestech.com, palmerdabbelt@google.com, paulus@samba.org, paul.walmsley@sifive.com, rth@twiddle.net, shorne@gmail.com, stefan.kristiansson@saunalahti.fi, tsbogend@alpha.franken.de, vgupta@synopsys.com, ysato@users.sourceforge.jp Subject: [PATCH v2 16/33] locking/atomic: csky: move to ARCH_ATOMIC Date: Tue, 25 May 2021 15:02:15 +0100 Message-Id: <20210525140232.53872-17-mark.rutland@arm.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20210525140232.53872-1-mark.rutland@arm.com> References: <20210525140232.53872-1-mark.rutland@arm.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We'd like all architectures to convert to ARCH_ATOMIC, as once all architectures are converted it will be possible to make significant cleanups to the atomics headers, and this will make it much easier to generically enable atomic functionality (e.g. debug logic in the instrumented wrappers). As a step towards that, this patch migrates csky to ARCH_ATOMIC. The arch code provides arch_{atomic,atomic64,xchg,cmpxchg}*(), and common code wraps these with optional instrumentation to provide the regular functions. Signed-off-by: Mark Rutland Acked-by: Guo Ren Cc: Boqun Feng Cc: Peter Zijlstra Cc: Will Deacon --- arch/csky/Kconfig | 1 + arch/csky/include/asm/cmpxchg.h | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/arch/csky/Kconfig b/arch/csky/Kconfig index 8de5b987edb9..3521f14bcd96 100644 --- a/arch/csky/Kconfig +++ b/arch/csky/Kconfig @@ -2,6 +2,7 @@ config CSKY def_bool y select ARCH_32BIT_OFF_T + select ARCH_ATOMIC select ARCH_HAS_DMA_PREP_COHERENT select ARCH_HAS_GCOV_PROFILE_ALL select ARCH_HAS_SYNC_DMA_FOR_CPU diff --git a/arch/csky/include/asm/cmpxchg.h b/arch/csky/include/asm/cmpxchg.h index dabc8e46ce7b..d1bef11f8dc9 100644 --- a/arch/csky/include/asm/cmpxchg.h +++ b/arch/csky/include/asm/cmpxchg.h @@ -31,7 +31,7 @@ extern void __bad_xchg(void); __ret; \ }) -#define xchg_relaxed(ptr, x) \ +#define arch_xchg_relaxed(ptr, x) \ (__xchg_relaxed((x), (ptr), sizeof(*(ptr)))) #define __cmpxchg_relaxed(ptr, old, new, size) \ @@ -61,14 +61,14 @@ extern void __bad_xchg(void); __ret; \ }) -#define cmpxchg_relaxed(ptr, o, n) \ +#define arch_cmpxchg_relaxed(ptr, o, n) \ (__cmpxchg_relaxed((ptr), (o), (n), sizeof(*(ptr)))) -#define cmpxchg(ptr, o, n) \ +#define arch_cmpxchg(ptr, o, n) \ ({ \ __typeof__(*(ptr)) __ret; \ __smp_release_fence(); \ - __ret = cmpxchg_relaxed(ptr, o, n); \ + __ret = arch_cmpxchg_relaxed(ptr, o, n); \ __smp_acquire_fence(); \ __ret; \ }) -- 2.11.0