public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Will Deacon <will.deacon@arm.com>
To: Mark Rutland <mark.rutland@arm.com>
Cc: linux-kernel@vger.kernel.org, peterz@infradead.org,
	boqun.feng@gmail.com, Catalin Marinas <catalin.marinas@arm.com>
Subject: Re: [PATCHv2 11/11] arm64: use instrumented atomics
Date: Wed, 4 Jul 2018 16:24:22 +0100	[thread overview]
Message-ID: <20180704152422.GK4828@arm.com> (raw)
In-Reply-To: <20180625105952.3756-12-mark.rutland@arm.com>

On Mon, Jun 25, 2018 at 11:59:52AM +0100, Mark Rutland wrote:
> Now that the generic atomic headers provide instrumented wrappers of all
> the atomics implemented by arm64, let's migrate arm64 over to these.
> 
> The additional instrumentation will help to find bugs (e.g. when fuzzing
> with Syzkaller).
> 
> Mostly this change involes adding an arch_ prefix to a number of
> function names and macro definitions. Due to the way we call the LL/SC
> atomics via the LSE atomic wrappers, this requires adding an arch_
> prefix to some arm64-specific atomic primitives.
> 
> Some unusual whitespace in the cmpxchg wrappers is fixed up as part of
> the change.
> 
> Signed-off-by: Mark Rutland <mark.rutland@arm.com>
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Will Deacon <will.deacon@arm.com>
> ---
>  arch/arm64/include/asm/atomic.h      | 237 ++++++++++++++++++-----------------
>  arch/arm64/include/asm/atomic_lse.h  |  51 ++++----
>  arch/arm64/include/asm/cmpxchg.h     | 106 ++++++++--------
>  arch/arm64/include/asm/lse.h         |   2 +-
>  arch/arm64/include/asm/sync_bitops.h |  16 +--
>  5 files changed, 212 insertions(+), 200 deletions(-)

This is mostly straightforward, but the cmpxchg/cmpxchg_double cases grow
an 'arch' prefix which suggests that they're part of the API with the core
atomics and also makes them horribly ugly. This just looks to be an artifact
of __LL_SC_CALL pasting that in. Can you drop that auto pasting of 'arch',
and instead change the non-cmpxchg-case callers of the macro to include the
arch prefix instead, please?

Will

  reply	other threads:[~2018-07-04 15:23 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-25 10:59 [PATCHv2 00/11] atomics: generate atomic headers / instrument arm64 Mark Rutland
2018-06-25 10:59 ` [PATCHv2 01/11] atomic/tty: Fix up atomic abuse in ldsem Mark Rutland
2018-06-26 18:53   ` Andy Shevchenko
2018-06-26 19:30     ` Peter Zijlstra
2018-06-27 17:33       ` Andy Shevchenko
2018-06-25 10:59 ` [PATCHv2 02/11] atomics/x86: reduce arch_cmpxchg64*() instrumentation Mark Rutland
2018-06-25 10:59 ` [PATCHv2 03/11] atomics: simplify cmpxchg() instrumentation Mark Rutland
2018-06-25 11:38   ` Andrea Parri
2018-06-25 11:47     ` Dmitry Vyukov
2018-06-25 11:48     ` Mark Rutland
2018-06-25 10:59 ` [PATCHv2 04/11] atomics/treewide: instrument xchg() Mark Rutland
2018-06-25 10:59 ` [PATCHv2 05/11] atomics: instrument cmpxchg_double*() Mark Rutland
2018-06-25 10:59 ` [PATCHv2 06/11] atomics/treewide: rework ordering barriers Mark Rutland
2018-06-25 15:44   ` Mark Rutland
2018-07-04 15:06   ` Will Deacon
2018-07-04 15:56     ` Mark Rutland
2018-07-04 17:50       ` Will Deacon
2018-07-05 10:12         ` Mark Rutland
2018-07-05 16:25           ` Will Deacon
2018-06-25 10:59 ` [PATCHv2 07/11] atomics: add common header generation files Mark Rutland
2018-06-28 10:58   ` Mark Rutland
2018-06-28 11:46     ` Peter Zijlstra
2018-06-25 10:59 ` [PATCHv2 08/11] atomics: switch to generated fallbacks Mark Rutland
2018-07-04 15:28   ` Will Deacon
2018-07-04 16:01     ` Mark Rutland
2018-07-04 17:44       ` Will Deacon
2018-07-05 11:52         ` Mark Rutland
2018-06-25 10:59 ` [PATCHv2 09/11] atomics: switch to generated atomic-long Mark Rutland
2018-06-25 10:59 ` [PATCHv2 10/11] atomics: switch to generated instrumentation Mark Rutland
2018-06-25 10:59 ` [PATCHv2 11/11] arm64: use instrumented atomics Mark Rutland
2018-07-04 15:24   ` Will Deacon [this message]
2018-07-04 16:37     ` Mark Rutland
2018-07-04 17:41       ` Will Deacon
2018-07-05  9:58         ` Mark Rutland
2018-06-25 15:22 ` [PATCHv2 00/11] atomics: generate atomic headers / instrument arm64 Peter Zijlstra

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180704152422.GK4828@arm.com \
    --to=will.deacon@arm.com \
    --cc=boqun.feng@gmail.com \
    --cc=catalin.marinas@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox