All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: linux-kernel@vger.kernel.org, Peter Zijlstra <peterz@infradead.org>
Cc: arnd@arndb.de, boqun.feng@gmail.com, lkp@intel.com, will@kernel.org
Subject: Re: [PATCH] locking/atomic: atomic64: remove unusable atomics
Date: Wed, 8 Dec 2021 18:20:47 +0000	[thread overview]
Message-ID: <YbD3f3CnTUkInNoP@FVFF77S0Q05N> (raw)
In-Reply-To: <20211126115923.41489-1-mark.rutland@arm.com>

Peter, did you have any thoughts on this, or would you be happy to pick it as a
cleanup?

If there's anything on your queue that I can help to get out of the way, please
let me know!

Thanks,
Mark.

On Fri, Nov 26, 2021 at 11:59:23AM +0000, Mark Rutland wrote:
> The generic atomic64 implementation provides:
> 
> * atomic64_and_return()
> * atomic64_or_return()
> * atomic64_xor_return()
> 
> ... but none of these exist in the standard atomic64 API as described by
> scripts/atomic/atomics.tbl, and none of these have prototypes exposed by
> <asm-generic/atomic64.h>.
> 
> The lkp kernel test robot noted this results in warnings when building with
> W=1:
> 
>   lib/atomic64.c:82:5: warning: no previous prototype for 'generic_atomic64_and_return' [-Wmissing-prototypes]
> 
>   lib/atomic64.c:82:5: warning: no previous prototype for 'generic_atomic64_or_return' [-Wmissing-prototypes]
> 
>   lib/atomic64.c:82:5: warning: no previous prototype for 'generic_atomic64_xor_return' [-Wmissing-prototypes]
> 
> This appears to have been a thinko in commit:
> 
>   28aa2bda2211f432 ("locking/atomic: Implement atomic{,64,_long}_fetch_{add,sub,and,andnot,or,xor}{,_relaxed,_acquire,_release}()")
> 
> ... where we grouped add/sub separately from and/ox/xor, so that we could avoid
> implementing _return forms for the latter group, but forgot to remove
> ATOMIC64_OP_RETURN() for that group.
> 
> This doesn't cause any functional problem, but it's pointless to build code
> which cannot be used. Remove the unusable code. This does not affect add/sub,
> for which _return forms will still be built.
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Link: https://lore.kernel.org/r/202111120712.RtQHZohY-lkp@intel.com
> Signed-off-by: Mark Rutland <mark.rutland@arm.com>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Boqun Feng <boqun.feng@gmail.com>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Will Deacon <will@kernel.org>
> ---
>  lib/atomic64.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/lib/atomic64.c b/lib/atomic64.c
> index 3df653994177..caf895789a1e 100644
> --- a/lib/atomic64.c
> +++ b/lib/atomic64.c
> @@ -118,7 +118,6 @@ ATOMIC64_OPS(sub, -=)
>  #undef ATOMIC64_OPS
>  #define ATOMIC64_OPS(op, c_op)						\
>  	ATOMIC64_OP(op, c_op)						\
> -	ATOMIC64_OP_RETURN(op, c_op)					\
>  	ATOMIC64_FETCH_OP(op, c_op)
>  
>  ATOMIC64_OPS(and, &=)
> @@ -127,7 +126,6 @@ ATOMIC64_OPS(xor, ^=)
>  
>  #undef ATOMIC64_OPS
>  #undef ATOMIC64_FETCH_OP
> -#undef ATOMIC64_OP_RETURN
>  #undef ATOMIC64_OP
>  
>  s64 generic_atomic64_dec_if_positive(atomic64_t *v)
> -- 
> 2.30.2
> 

  parent reply	other threads:[~2021-12-08 18:20 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-26 11:59 [PATCH] locking/atomic: atomic64: remove unusable atomics Mark Rutland
2021-11-28  8:49 ` Boqun Feng
2021-12-08 18:20 ` Mark Rutland [this message]
2021-12-08 18:44   ` Peter Zijlstra
2021-12-13 10:03 ` [tip: locking/core] locking/atomic: atomic64: Remove unusable atomic ops tip-bot2 for Mark Rutland

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=YbD3f3CnTUkInNoP@FVFF77S0Q05N \
    --to=mark.rutland@arm.com \
    --cc=arnd@arndb.de \
    --cc=boqun.feng@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=peterz@infradead.org \
    --cc=will@kernel.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 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.