diff --git a/sys/sys/cpuset.h b/sys/sys/cpuset.h --- a/sys/sys/cpuset.h +++ b/sys/sys/cpuset.h @@ -76,21 +76,25 @@ #define CPUSET_T_INITIALIZER(x) __BITSET_T_INITIALIZER(x) #if !defined(_KERNEL) +#ifndef NBBY +#define NBBY 8 +#endif + #define CPU_ALLOC_SIZE(_s) __BITSET_SIZE(_s) #define CPU_ALLOC(_s) __cpuset_alloc(_s) #define CPU_FREE(p) __cpuset_free(p) -#define CPU_ISSET_S(n, _s, p) __BIT_ISSET(_s, n, p) -#define CPU_SET_S(n, _s, p) __BIT_SET(_s, n, p) -#define CPU_CLR_S(n, _s, p) __BIT_CLR(_s, n, p) -#define CPU_ZERO_S(_s, p) __BIT_ZERO(_s, p) +#define CPU_ISSET_S(n, _s, p) __BIT_ISSET(_s * NBBY, n, p) +#define CPU_SET_S(n, _s, p) __BIT_SET(_s * NBBY, n, p) +#define CPU_CLR_S(n, _s, p) __BIT_CLR(_s * NBBY, n, p) +#define CPU_ZERO_S(_s, p) __BIT_ZERO(_s * NBBY, p) -#define CPU_OR_S(_s, d, s1, s2) __BIT_OR2(_s, d, s1, s2) -#define CPU_AND_S(_s, d, s1, s2) __BIT_AND2(_s, d, s1, s2) -#define CPU_XOR_S(_s, d, s1, s2) __BIT_XOR2(_s, d, s1, s2) +#define CPU_OR_S(_s, d, s1, s2) __BIT_OR2(_s * NBBY, d, s1, s2) +#define CPU_AND_S(_s, d, s1, s2) __BIT_AND2(_s * NBBY, d, s1, s2) +#define CPU_XOR_S(_s, d, s1, s2) __BIT_XOR2(_s * NBBY, d, s1, s2) -#define CPU_COUNT_S(_s, p) ((int)__BIT_COUNT(_s, p)) -#define CPU_EQUAL_S(_s, p, c) (__BIT_CMP(_s, p, c) == 0) +#define CPU_COUNT_S(_s, p) ((int)__BIT_COUNT(_s * NBBY, p)) +#define CPU_EQUAL_S(_s, p, c) (__BIT_CMP(_s * NBBY, p, c) == 0) #endif /* diff --git a/tests/sys/kern/sched_affinity.c b/tests/sys/kern/sched_affinity.c --- a/tests/sys/kern/sched_affinity.c +++ b/tests/sys/kern/sched_affinity.c @@ -6,6 +6,7 @@ #include __FBSDID("$FreeBSD$"); +#include #include #include #include