bitset: expand bit index type to `long`
An upcoming patch to use the bitset macros for tracking vm page dump information could conceivably need more than INT_MAX bits. Expand the bit type to long so that the extra range is available on 64-bit platforms where it would most likely be needed. CPUSET_COUNT and DOMAINSET_COUNT are also modified to remain of type `int`. Reviewed by: kib, markj Approved by: scottl (implicit) MFC after: 1 week Sponsored by: Ampere Computing, Inc. Differential Revision: https://reviews.freebsd.org/D26190
This commit is contained in:
parent
4c5b7bec97
commit
9d50b44689
|
@ -216,8 +216,7 @@
|
||||||
*/
|
*/
|
||||||
#define BIT_FFS_AT(_s, p, start) __extension__ ({ \
|
#define BIT_FFS_AT(_s, p, start) __extension__ ({ \
|
||||||
__size_t __i; \
|
__size_t __i; \
|
||||||
long __mask; \
|
long __bit, __mask; \
|
||||||
int __bit; \
|
|
||||||
\
|
\
|
||||||
__mask = ~0UL << ((start) % _BITSET_BITS); \
|
__mask = ~0UL << ((start) % _BITSET_BITS); \
|
||||||
__bit = 0; \
|
__bit = 0; \
|
||||||
|
@ -238,7 +237,7 @@
|
||||||
|
|
||||||
#define BIT_FLS(_s, p) __extension__ ({ \
|
#define BIT_FLS(_s, p) __extension__ ({ \
|
||||||
__size_t __i; \
|
__size_t __i; \
|
||||||
int __bit; \
|
long __bit; \
|
||||||
\
|
\
|
||||||
__bit = 0; \
|
__bit = 0; \
|
||||||
for (__i = __bitset_words((_s)); __i > 0; __i--) { \
|
for (__i = __bitset_words((_s)); __i > 0; __i--) { \
|
||||||
|
@ -253,7 +252,7 @@
|
||||||
|
|
||||||
#define BIT_COUNT(_s, p) __extension__ ({ \
|
#define BIT_COUNT(_s, p) __extension__ ({ \
|
||||||
__size_t __i; \
|
__size_t __i; \
|
||||||
int __count; \
|
long __count; \
|
||||||
\
|
\
|
||||||
__count = 0; \
|
__count = 0; \
|
||||||
for (__i = 0; __i < __bitset_words((_s)); __i++) \
|
for (__i = 0; __i < __bitset_words((_s)); __i++) \
|
||||||
|
|
|
@ -191,7 +191,7 @@ static __inline void CPU_ANDNOT(cpu_set_t *destset, const cpu_set_t *srcset1,
|
||||||
|
|
||||||
static __inline int CPU_COUNT_S(size_t setsize, const cpu_set_t *set)
|
static __inline int CPU_COUNT_S(size_t setsize, const cpu_set_t *set)
|
||||||
{
|
{
|
||||||
return BIT_COUNT(_cpu_set_bits(setsize), set);
|
return (int)BIT_COUNT(_cpu_set_bits(setsize), set);
|
||||||
}
|
}
|
||||||
|
|
||||||
static __inline int CPU_COUNT(const cpu_set_t *set)
|
static __inline int CPU_COUNT(const cpu_set_t *set)
|
||||||
|
|
Loading…
Reference in New Issue