From: Chris Metcalf <cmetcalf@ezchip.com>
To: Peter Zijlstra <peterz@infradead.org>,
Geert Uytterhoeven <geert@linux-m68k.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Linux-Arch <linux-arch@vger.kernel.org>,
"Richard Henderson" <rth@twiddle.net>,
"Vineet Gupta" <vgupta@synopsys.com>,
"Russell King" <linux@arm.linux.org.uk>,
"Will Deacon" <will.deacon@arm.com>,
"Håvard Skinnemoen" <hskinnemoen@gmail.com>,
"Miao Steven" <realmz6@gmail.com>,
"David Howells" <dhowells@redhat.com>,
"Richard Kuo" <rkuo@codeaurora.org>,
"Tony Luck" <tony.luck@intel.com>,
"James Hogan" <james.hogan@imgtec.com>,
"Ralf Baechle" <ralf@linux-mips.org>,
"James E.J. Bottomley" <jejb@parisc-linux.org>,
"Benjamin Herrenschmidt" <benh@kernel.crashing.org>,
"Heiko Carstens" <heiko.carstens@de.ibm.com>,
"David S. Miller" <davem@davemloft.net>,
"Ingo Molnar" <mingo@kernel.org>
Subject: Re: [RFC][PATCH 23/24] atomic: Collapse all atomic_{set,clear}_mask definitions
Date: Fri, 10 Jul 2015 09:34:04 -0400 [thread overview]
Message-ID: <559FC9CC.6000400@ezchip.com> (raw)
In-Reply-To: <20150710103945.GH19282@twins.programming.kicks-ass.net>
On 7/10/2015 6:39 AM, Peter Zijlstra wrote:
> On Fri, Jul 10, 2015 at 11:10:33AM +0200, Geert Uytterhoeven wrote:
>> Hi Peter,
>>
>> On Thu, Jul 9, 2015 at 7:29 PM, Peter Zijlstra <peterz@infradead.org> wrote:
>>> --- a/include/linux/atomic.h
>>> +++ b/include/linux/atomic.h
>>> @@ -28,6 +28,23 @@ static inline int atomic_add_unless(atom
>>> #define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0)
>>> #endif
>>>
>>> +#ifndef atomic_nand
>>> +static inline void atomic_nand(int i, atomic_t *v)
>>> +{
>>> + atomic_and(~i, v);
>> That sounds like a misnomer...
>>
>> Your NAND is "A & ~B", while my[*] NAND is "~(A & B)"?
>>
>> [*] https://en.wikipedia.org/wiki/NAND_logic
> Right you are.
>
>> What about atomic_clear()? (Is atomic_bic() too ARM-centric?)
> atomic_and_not() ?
I've seen this as ANDN (as opposed to NAND). That's the name I used in
the tilepro atomics as the thing that implements the bitmask clear operation.
SPARC also has an "andn" instruction with this semantics.
--
Chris Metcalf, EZChip Semiconductor
http://www.ezchip.com
next prev parent reply other threads:[~2015-07-10 13:34 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-09 17:28 [RFC][PATCH 00/24] arch: Provide atomic logic ops Peter Zijlstra
2015-07-09 17:28 ` Peter Zijlstra
2015-07-09 17:28 ` [RFC][PATCH 01/24] alpha: Provide atomic_{or,xor,and} Peter Zijlstra
2015-07-09 17:28 ` Peter Zijlstra
2015-07-09 17:28 ` [RFC][PATCH 02/24] arc: " Peter Zijlstra
2015-07-09 17:28 ` Peter Zijlstra
2015-07-10 4:30 ` Vineet Gupta
2015-07-10 7:05 ` Peter Zijlstra
2015-07-10 7:05 ` Peter Zijlstra
2015-07-13 12:43 ` Vineet Gupta
2015-07-09 17:28 ` [RFC][PATCH 03/24] arm: " Peter Zijlstra
2015-07-09 17:28 ` Peter Zijlstra
2015-07-09 18:02 ` Peter Zijlstra
2015-07-10 10:24 ` Russell King - ARM Linux
2015-07-09 17:28 ` [RFC][PATCH 04/24] arm64: " Peter Zijlstra
2015-07-10 8:42 ` Will Deacon
2015-07-10 8:42 ` Will Deacon
2015-07-10 16:23 ` Peter Zijlstra
2015-07-10 16:23 ` Peter Zijlstra
2015-07-13 9:29 ` Will Deacon
2015-07-13 9:29 ` Will Deacon
2015-07-15 16:01 ` Will Deacon
2015-07-15 16:01 ` Will Deacon
2015-07-15 16:46 ` Peter Zijlstra
2015-07-15 16:46 ` Peter Zijlstra
2015-07-09 17:29 ` [RFC][PATCH 05/24] avr32: " Peter Zijlstra
2015-07-09 17:29 ` Peter Zijlstra
2015-07-09 17:29 ` [RFC][PATCH 06/24] blackfin: " Peter Zijlstra
2015-07-09 17:29 ` [RFC][PATCH 07/24] hexagon: " Peter Zijlstra
2015-07-09 17:29 ` Peter Zijlstra
2015-07-09 17:29 ` [RFC][PATCH 08/24] ia64: " Peter Zijlstra
2015-07-09 17:29 ` [RFC][PATCH 09/24] m32r: " Peter Zijlstra
2015-07-09 17:29 ` [RFC][PATCH 10/24] m68k: " Peter Zijlstra
2015-07-10 9:13 ` Geert Uytterhoeven
2015-07-09 17:29 ` [RFC][PATCH 11/24] metag: " Peter Zijlstra
2015-07-09 17:29 ` Peter Zijlstra
2015-07-09 17:29 ` [RFC][PATCH 12/24] mips: " Peter Zijlstra
2015-07-09 17:29 ` Peter Zijlstra
2015-07-09 18:45 ` Ralf Baechle
2015-07-09 17:29 ` [RFC][PATCH 13/24] mn10300: " Peter Zijlstra
2015-07-09 17:29 ` Peter Zijlstra
2015-07-09 17:29 ` [RFC][PATCH 14/24] parisc: " Peter Zijlstra
2015-07-09 17:29 ` Peter Zijlstra
2015-07-09 17:29 ` [RFC][PATCH 15/24] powerpc: " Peter Zijlstra
2015-07-09 17:29 ` Peter Zijlstra
2015-07-09 21:49 ` Benjamin Herrenschmidt
2015-07-09 17:29 ` [RFC][PATCH 16/24] sh: " Peter Zijlstra
2015-07-09 17:29 ` Peter Zijlstra
2015-07-09 17:29 ` [RFC][PATCH 17/24] sparc: " Peter Zijlstra
2015-07-09 18:05 ` David Miller
2015-07-09 17:29 ` [RFC][PATCH 18/24] xtensa: " Peter Zijlstra
2015-07-09 17:29 ` Peter Zijlstra
2015-07-09 17:29 ` [RFC][PATCH 19/24] s390: " Peter Zijlstra
2015-07-10 7:17 ` Heiko Carstens
2015-07-10 10:22 ` Peter Zijlstra
2015-07-10 10:52 ` Heiko Carstens
2015-07-10 11:28 ` Peter Zijlstra
2015-07-09 17:29 ` [RFC][PATCH 20/24] x86: " Peter Zijlstra
2015-07-09 17:29 ` [RFC][PATCH 21/24] atomic: " Peter Zijlstra
2015-07-09 17:29 ` [RFC][PATCH 22/24] frv: Rewrite atomic implementation Peter Zijlstra
2015-07-09 17:29 ` [RFC][PATCH 23/24] atomic: Collapse all atomic_{set,clear}_mask definitions Peter Zijlstra
2015-07-10 9:10 ` Geert Uytterhoeven
2015-07-10 9:13 ` Vineet Gupta
2015-07-10 10:39 ` Peter Zijlstra
2015-07-10 13:34 ` Chris Metcalf [this message]
2015-07-10 13:42 ` Russell King - ARM Linux
2015-07-10 16:27 ` Peter Zijlstra
2015-07-10 17:35 ` Chris Metcalf
2015-07-10 19:45 ` Chris Metcalf
2015-07-09 17:29 ` [RFC][PATCH 24/24] atomic: Replace atomic_{set,clear}_mask() usage Peter Zijlstra
2015-07-09 17:29 ` Peter Zijlstra
2015-07-09 20:38 ` [PATCH] tile: Provide atomic_{or,xor,and} Chris Metcalf
2015-07-09 20:38 ` Chris Metcalf
2015-07-09 20:49 ` 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=559FC9CC.6000400@ezchip.com \
--to=cmetcalf@ezchip.com \
--cc=benh@kernel.crashing.org \
--cc=davem@davemloft.net \
--cc=dhowells@redhat.com \
--cc=geert@linux-m68k.org \
--cc=heiko.carstens@de.ibm.com \
--cc=hskinnemoen@gmail.com \
--cc=james.hogan@imgtec.com \
--cc=jejb@parisc-linux.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=ralf@linux-mips.org \
--cc=realmz6@gmail.com \
--cc=rkuo@codeaurora.org \
--cc=rth@twiddle.net \
--cc=tony.luck@intel.com \
--cc=vgupta@synopsys.com \
--cc=will.deacon@arm.com \
/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;
as well as URLs for NNTP newsgroup(s).