svn commit: r355709 - in head: share/man/man9 sys/i386/i386 sys/kern sys/sparc64/sparc64 sys/sys sys/x86/x86

Ryan Libby rlibby at FreeBSD.org
Fri Dec 13 09:32:19 UTC 2019


Author: rlibby
Date: Fri Dec 13 09:32:16 2019
New Revision: 355709
URL: https://svnweb.freebsd.org/changeset/base/355709

Log:
  bitset: rename confusing macro NAND to ANDNOT
  
  s/BIT_NAND/BIT_ANDNOT/, and for CPU and DOMAINSET too.  The actual
  implementation is "and not" (or "but not"), i.e. A but not B.
  Fortunately this does appear to be what all existing callers want.
  
  Don't supply a NAND (not (A and B)) operation at this time.
  
  Discussed with:	jeff
  Reviewed by:	cem
  Sponsored by:	Dell EMC Isilon
  Differential Revision:	https://reviews.freebsd.org/D22791

Modified:
  head/share/man/man9/Makefile
  head/share/man/man9/bitset.9
  head/share/man/man9/cpuset.9
  head/sys/i386/i386/vm_machdep.c
  head/sys/kern/kern_cpuset.c
  head/sys/kern/kern_rmlock.c
  head/sys/kern/sched_4bsd.c
  head/sys/kern/sched_ule.c
  head/sys/kern/subr_kdb.c
  head/sys/sparc64/sparc64/mp_machdep.c
  head/sys/sys/bitset.h
  head/sys/sys/cpuset.h
  head/sys/sys/domainset.h
  head/sys/x86/x86/cpu_machdep.c

Modified: head/share/man/man9/Makefile
==============================================================================
--- head/share/man/man9/Makefile	Fri Dec 13 09:32:09 2019	(r355708)
+++ head/share/man/man9/Makefile	Fri Dec 13 09:32:16 2019	(r355709)
@@ -607,7 +607,7 @@ MLINKS+=bitset.9 BITSET_DEFINE.9 \
 	bitset.9 BIT_CMP.9 \
 	bitset.9 BIT_OR.9 \
 	bitset.9 BIT_AND.9 \
-	bitset.9 BIT_NAND.9 \
+	bitset.9 BIT_ANDNOT.9 \
 	bitset.9 BIT_CLR_ATOMIC.9 \
 	bitset.9 BIT_SET_ATOMIC.9 \
 	bitset.9 BIT_SET_ATOMIC_ACQ.9 \
@@ -856,7 +856,7 @@ MLINKS+=cpuset.9 CPUSET_T_INITIALIZER.9 \
 	cpuset.9 CPU_CMP.9 \
 	cpuset.9 CPU_OR.9 \
 	cpuset.9 CPU_AND.9 \
-	cpuset.9 CPU_NAND.9 \
+	cpuset.9 CPU_ANDNOT.9 \
 	cpuset.9 CPU_CLR_ATOMIC.9 \
 	cpuset.9 CPU_SET_ATOMIC.9 \
 	cpuset.9 CPU_SET_ATOMIC_ACQ.9 \

Modified: head/share/man/man9/bitset.9
==============================================================================
--- head/share/man/man9/bitset.9	Fri Dec 13 09:32:09 2019	(r355708)
+++ head/share/man/man9/bitset.9	Fri Dec 13 09:32:16 2019	(r355709)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 7, 2017
+.Dd December 12, 2019
 .Dt BITSET 9
 .Os
 .Sh NAME
@@ -52,8 +52,8 @@
 .Nm BIT_OR2 ,
 .Nm BIT_AND ,
 .Nm BIT_AND2 ,
-.Nm BIT_NAND ,
-.Nm BIT_NAND2 ,
+.Nm BIT_ANDNOT ,
+.Nm BIT_ANDNOT2 ,
 .Nm BIT_XOR ,
 .Nm BIT_XOR2 ,
 .Nm BIT_CLR_ATOMIC ,
@@ -116,8 +116,8 @@
 .Fa "struct STRUCTNAME *src1"
 .Fa "struct STRUCTNAME *src2"
 .Fc
-.Fn BIT_NAND "const SETSIZE" "struct STRUCTNAME *dst" "struct STRUCTNAME *src"
-.Fo BIT_NAND2
+.Fn BIT_ANDNOT "const SETSIZE" "struct STRUCTNAME *dst" "struct STRUCTNAME *src"
+.Fo BIT_ANDNOT2
 .Fa "const SETSIZE"
 .Fa "struct STRUCTNAME *dst"
 .Fa "struct STRUCTNAME *src1"
@@ -412,7 +412,7 @@ equivalent of the scalar:
 .Fa src2 . )
 .Pp
 The
-.Fn BIT_NAND
+.Fn BIT_ANDNOT
 macro clears bits set in
 .Fa src
 from
@@ -425,7 +425,7 @@ equivalent of the scalar:
 .Fa ~ src . )
 .Pp
 The
-.Fn BIT_NAND2
+.Fn BIT_ANDNOT2
 macro computes
 .Fa src1
 bitwise and not

Modified: head/share/man/man9/cpuset.9
==============================================================================
--- head/share/man/man9/cpuset.9	Fri Dec 13 09:32:09 2019	(r355708)
+++ head/share/man/man9/cpuset.9	Fri Dec 13 09:32:16 2019	(r355709)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 29, 2016
+.Dd December 12, 2019
 .Dt CPUSET 9
 .Os
 .Sh NAME
@@ -48,7 +48,7 @@
 .Nm CPU_CMP ,
 .Nm CPU_OR ,
 .Nm CPU_AND ,
-.Nm CPU_NAND ,
+.Nm CPU_ANDNOT ,
 .Nm CPU_CLR_ATOMIC ,
 .Nm CPU_SET_ATOMIC ,
 .Nm CPU_SET_ATOMIC_ACQ ,
@@ -88,7 +88,7 @@
 .Fn CPU_CMP "cpuset_t *cpuset1" "cpuset_t *cpuset2"
 .Fn CPU_OR "cpuset_t *dst" "cpuset_t *src"
 .Fn CPU_AND "cpuset_t *dst" "cpuset_t *src"
-.Fn CPU_NAND "cpuset_t *dst" "cpuset_t *src"
+.Fn CPU_ANDNOT "cpuset_t *dst" "cpuset_t *src"
 .\"
 .Fn CPU_CLR_ATOMIC "size_t cpu_idx" "cpuset_t *cpuset"
 .Fn CPU_SET_ATOMIC "size_t cpu_idx" "cpuset_t *cpuset"
@@ -303,7 +303,7 @@ is similar, with the same atomic semantics as
 .Fn CPU_OR_ATOMIC .
 .Pp
 The
-.Fn CPU_NAND
+.Fn CPU_ANDNOT
 macro removes CPUs in
 .Fa src
 from

Modified: head/sys/i386/i386/vm_machdep.c
==============================================================================
--- head/sys/i386/i386/vm_machdep.c	Fri Dec 13 09:32:09 2019	(r355708)
+++ head/sys/i386/i386/vm_machdep.c	Fri Dec 13 09:32:16 2019	(r355709)
@@ -598,7 +598,7 @@ sf_buf_shootdown(struct sf_buf *sf, int flags)
 	if ((flags & SFB_CPUPRIVATE) == 0) {
 		other_cpus = all_cpus;
 		CPU_CLR(cpuid, &other_cpus);
-		CPU_NAND(&other_cpus, &sf->cpumask);
+		CPU_ANDNOT(&other_cpus, &sf->cpumask);
 		if (!CPU_EMPTY(&other_cpus)) {
 			CPU_OR(&sf->cpumask, &other_cpus);
 			smp_masked_invlpg(other_cpus, sf->kva, kernel_pmap);

Modified: head/sys/kern/kern_cpuset.c
==============================================================================
--- head/sys/kern/kern_cpuset.c	Fri Dec 13 09:32:09 2019	(r355708)
+++ head/sys/kern/kern_cpuset.c	Fri Dec 13 09:32:16 2019	(r355709)
@@ -510,7 +510,7 @@ domainset_empty_vm(struct domainset *domain)
 		return (true);
 
 	/* Remove empty domains from the set and recompute. */
-	DOMAINSET_NAND(&domain->ds_mask, &empty);
+	DOMAINSET_ANDNOT(&domain->ds_mask, &empty);
 	domain->ds_cnt = DOMAINSET_COUNT(&domain->ds_mask);
 	for (i = j = 0; i < DOMAINSET_FLS(&domain->ds_mask); i++)
 		if (DOMAINSET_ISSET(i, &domain->ds_mask))

Modified: head/sys/kern/kern_rmlock.c
==============================================================================
--- head/sys/kern/kern_rmlock.c	Fri Dec 13 09:32:09 2019	(r355708)
+++ head/sys/kern/kern_rmlock.c	Fri Dec 13 09:32:16 2019	(r355709)
@@ -542,7 +542,7 @@ _rm_wlock(struct rmlock *rm)
 	if (CPU_CMP(&rm->rm_writecpus, &all_cpus)) {
 		/* Get all read tokens back */
 		readcpus = all_cpus;
-		CPU_NAND(&readcpus, &rm->rm_writecpus);
+		CPU_ANDNOT(&readcpus, &rm->rm_writecpus);
 		rm->rm_writecpus = all_cpus;
 
 		/*

Modified: head/sys/kern/sched_4bsd.c
==============================================================================
--- head/sys/kern/sched_4bsd.c	Fri Dec 13 09:32:09 2019	(r355708)
+++ head/sys/kern/sched_4bsd.c	Fri Dec 13 09:32:16 2019	(r355709)
@@ -1181,7 +1181,7 @@ forward_wakeup(int cpunum)
 
 	if (forward_wakeup_use_mask) {
 		map = idle_cpus_mask;
-		CPU_NAND(&map, &dontuse);
+		CPU_ANDNOT(&map, &dontuse);
 
 		/* If they are both on, compare and use loop if different. */
 		if (forward_wakeup_use_loop) {
@@ -1366,7 +1366,7 @@ sched_add(struct thread *td, int flags)
 	} else {
 		if (!single_cpu) {
 			tidlemsk = idle_cpus_mask;
-			CPU_NAND(&tidlemsk, &hlt_cpus_mask);
+			CPU_ANDNOT(&tidlemsk, &hlt_cpus_mask);
 			CPU_CLR(cpuid, &tidlemsk);
 
 			if (!CPU_ISSET(cpuid, &idle_cpus_mask) &&

Modified: head/sys/kern/sched_ule.c
==============================================================================
--- head/sys/kern/sched_ule.c	Fri Dec 13 09:32:09 2019	(r355708)
+++ head/sys/kern/sched_ule.c	Fri Dec 13 09:32:16 2019	(r355709)
@@ -705,7 +705,7 @@ cpu_search(const struct cpu_group *cg, struct cpu_sear
 		if (match & CPU_SEARCH_HIGHEST)
 			hgroup.cs_cpu = -1;
 		if (child) {			/* Handle child CPU group. */
-			CPU_NAND(&cpumask, &child->cg_mask);
+			CPU_ANDNOT(&cpumask, &child->cg_mask);
 			switch (match) {
 			case CPU_SEARCH_LOWEST:
 				load = cpu_search_lowest(child, &lgroup);

Modified: head/sys/kern/subr_kdb.c
==============================================================================
--- head/sys/kern/subr_kdb.c	Fri Dec 13 09:32:09 2019	(r355708)
+++ head/sys/kern/subr_kdb.c	Fri Dec 13 09:32:16 2019	(r355709)
@@ -666,7 +666,7 @@ kdb_trap(int type, int code, struct trapframe *tf)
 	if (!SCHEDULER_STOPPED()) {
 #ifdef SMP
 		other_cpus = all_cpus;
-		CPU_NAND(&other_cpus, &stopped_cpus);
+		CPU_ANDNOT(&other_cpus, &stopped_cpus);
 		CPU_CLR(PCPU_GET(cpuid), &other_cpus);
 		stop_cpus_hard(other_cpus);
 #endif

Modified: head/sys/sparc64/sparc64/mp_machdep.c
==============================================================================
--- head/sys/sparc64/sparc64/mp_machdep.c	Fri Dec 13 09:32:09 2019	(r355708)
+++ head/sys/sparc64/sparc64/mp_machdep.c	Fri Dec 13 09:32:16 2019	(r355709)
@@ -493,7 +493,7 @@ cpu_mp_shutdown(void)
 	if (CPU_CMP(&stopped_cpus, &cpus)) {
 
 		/* cpus is just a flat "on" mask without curcpu. */
-		CPU_NAND(&cpus, &stopped_cpus);
+		CPU_ANDNOT(&cpus, &stopped_cpus);
 		stop_cpus(cpus);
 	}
 	i = 0;

Modified: head/sys/sys/bitset.h
==============================================================================
--- head/sys/sys/bitset.h	Fri Dec 13 09:32:09 2019	(r355708)
+++ head/sys/sys/bitset.h	Fri Dec 13 09:32:16 2019	(r355709)
@@ -149,13 +149,13 @@
 		(d)->__bits[__i] = (s1)->__bits[__i] & (s2)->__bits[__i];\
 } while (0)
 
-#define	BIT_NAND(_s, d, s) do {						\
+#define	BIT_ANDNOT(_s, d, s) do {					\
 	__size_t __i;							\
 	for (__i = 0; __i < __bitset_words((_s)); __i++)		\
 		(d)->__bits[__i] &= ~(s)->__bits[__i];			\
 } while (0)
 
-#define	BIT_NAND2(_s, d, s1, s2) do {					\
+#define	BIT_ANDNOT2(_s, d, s1, s2) do {					\
 	__size_t __i;							\
 	for (__i = 0; __i < __bitset_words((_s)); __i++)		\
 		(d)->__bits[__i] = (s1)->__bits[__i] & ~(s2)->__bits[__i];\

Modified: head/sys/sys/cpuset.h
==============================================================================
--- head/sys/sys/cpuset.h	Fri Dec 13 09:32:09 2019	(r355708)
+++ head/sys/sys/cpuset.h	Fri Dec 13 09:32:16 2019	(r355709)
@@ -57,7 +57,7 @@
 #define	CPU_CMP(p, c)			BIT_CMP(CPU_SETSIZE, p, c)
 #define	CPU_OR(d, s)			BIT_OR(CPU_SETSIZE, d, s)
 #define	CPU_AND(d, s)			BIT_AND(CPU_SETSIZE, d, s)
-#define	CPU_NAND(d, s)			BIT_NAND(CPU_SETSIZE, d, s)
+#define	CPU_ANDNOT(d, s)		BIT_ANDNOT(CPU_SETSIZE, d, s)
 #define	CPU_CLR_ATOMIC(n, p)		BIT_CLR_ATOMIC(CPU_SETSIZE, n, p)
 #define	CPU_SET_ATOMIC(n, p)		BIT_SET_ATOMIC(CPU_SETSIZE, n, p)
 #define	CPU_SET_ATOMIC_ACQ(n, p)	BIT_SET_ATOMIC_ACQ(CPU_SETSIZE, n, p)

Modified: head/sys/sys/domainset.h
==============================================================================
--- head/sys/sys/domainset.h	Fri Dec 13 09:32:09 2019	(r355708)
+++ head/sys/sys/domainset.h	Fri Dec 13 09:32:16 2019	(r355709)
@@ -58,7 +58,7 @@
 #define	DOMAINSET_CMP(p, c)		BIT_CMP(DOMAINSET_SETSIZE, p, c)
 #define	DOMAINSET_OR(d, s)		BIT_OR(DOMAINSET_SETSIZE, d, s)
 #define	DOMAINSET_AND(d, s)		BIT_AND(DOMAINSET_SETSIZE, d, s)
-#define	DOMAINSET_NAND(d, s)		BIT_NAND(DOMAINSET_SETSIZE, d, s)
+#define	DOMAINSET_ANDNOT(d, s)		BIT_ANDNOT(DOMAINSET_SETSIZE, d, s)
 #define	DOMAINSET_CLR_ATOMIC(n, p)	BIT_CLR_ATOMIC(DOMAINSET_SETSIZE, n, p)
 #define	DOMAINSET_SET_ATOMIC(n, p)	BIT_SET_ATOMIC(DOMAINSET_SETSIZE, n, p)
 #define	DOMAINSET_SET_ATOMIC_ACQ(n, p)					\

Modified: head/sys/x86/x86/cpu_machdep.c
==============================================================================
--- head/sys/x86/x86/cpu_machdep.c	Fri Dec 13 09:32:09 2019	(r355708)
+++ head/sys/x86/x86/cpu_machdep.c	Fri Dec 13 09:32:16 2019	(r355709)
@@ -447,7 +447,7 @@ cpu_reset(void)
 	if (smp_started) {
 		map = all_cpus;
 		CPU_CLR(PCPU_GET(cpuid), &map);
-		CPU_NAND(&map, &stopped_cpus);
+		CPU_ANDNOT(&map, &stopped_cpus);
 		if (!CPU_EMPTY(&map)) {
 			printf("cpu_reset: Stopping other CPUs\n");
 			stop_cpus(map);


More information about the svn-src-all mailing list