Lines Matching refs:size

12  * size and improve performance, 2015.
26 * @size: The bitmap size in bits
28 #define FIND_FIRST_BIT(FETCH, MUNGE, size) \
30 unsigned long idx, val, sz = (size); \
47 * @size: The bitmap size in bits
50 #define FIND_NEXT_BIT(FETCH, MUNGE, size, start) \
52 unsigned long mask, idx, tmp, sz = (size), __start = (start); \
71 #define FIND_NTH_BIT(FETCH, size, num) \
73 unsigned long sz = (size), nr = (num), idx, w, tmp; \
99 unsigned long _find_first_bit(const unsigned long *addr, unsigned long size)
101 return FIND_FIRST_BIT(addr[idx], /* nop */, size);
112 unsigned long size)
114 return FIND_FIRST_BIT(addr1[idx] & addr2[idx], /* nop */, size);
123 unsigned long _find_first_zero_bit(const unsigned long *addr, unsigned long size)
125 return FIND_FIRST_BIT(~addr[idx], /* nop */, size);
138 unsigned long __find_nth_bit(const unsigned long *addr, unsigned long size, unsigned long n)
140 return FIND_NTH_BIT(addr[idx], size, n);
145 unsigned long size, unsigned long n)
147 return FIND_NTH_BIT(addr1[idx] & addr2[idx], size, n);
152 unsigned long size, unsigned long n)
154 return FIND_NTH_BIT(addr1[idx] & ~addr2[idx], size, n);
161 unsigned long size, unsigned long n)
163 return FIND_NTH_BIT(addr1[idx] & addr2[idx] & ~addr3[idx], size, n);
204 unsigned long _find_last_bit(const unsigned long *addr, unsigned long size)
206 if (size) {
207 unsigned long val = BITMAP_LAST_WORD_MASK(size);
208 unsigned long idx = (size-1) / BITS_PER_LONG;
218 return size;
224 unsigned long size, unsigned long offset)
226 offset = find_next_bit(addr, size, offset);
227 if (offset == size)
228 return size;
243 unsigned long _find_first_zero_bit_le(const unsigned long *addr, unsigned long size)
245 return FIND_FIRST_BIT(~addr[idx], swab, size);
253 unsigned long size, unsigned long offset)
255 return FIND_NEXT_BIT(~addr[idx], swab, size, offset);
262 unsigned long size, unsigned long offset)
264 return FIND_NEXT_BIT(addr[idx], swab, size, offset);