Re: [RFC][PATCH 23/24] atomic: Collapse all atomic_{set,clear}_mask definitions

From: Chris Metcalf
Date: Fri Jul 10 2015 - 13:35:55 EST


On 07/10/2015 12:27 PM, Peter Zijlstra wrote:
On Fri, Jul 10, 2015 at 02:42:56PM +0100, Russell King - ARM Linux wrote:
The obvious question though is whether we have an established name for this
operation elsewhere in the kernel, and whether we should have consistency.
Consistency is good.

In include/linux, we already have (grepping for 'and_*not'):

include/linux/nodemask.h:#define nodes_andnot(dst, src1, src2) \
include/linux/bitmap.h:extern int __bitmap_andnot(unsigned long *dst, const unsigned long *bitmap1,
include/linux/cpumask.h:static inline int cpumask_andnot(struct cpumask *dstp,

We also have:

include/linux/signal.h:#define _sig_andn(x,y) ((x) & ~(y))

which seems to be the only instance of "andn" in include/.
How about I rename the _sig_andn one to _sig_andnot, and go with
atomic_andnot, to match the *mask functions.

I'll respin my patch to just tweak tilepro's "andn" to use
"andnot" as well while I'm at it, then. Making "andnot" a stand-alone
patch would cause conflicts so it might as well go in with your change.

--
Chris Metcalf, EZChip Semiconductor
http://www.ezchip.com

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/