Lines Matching refs:bit_index
137 bit_array_get_word(const struct spdk_bit_array *ba, uint32_t bit_index, in bit_array_get_word() argument
140 if (spdk_unlikely(bit_index >= ba->bit_count)) { in bit_array_get_word()
144 *word_index = bit_index >> SPDK_BIT_ARRAY_WORD_INDEX_SHIFT; in bit_array_get_word()
145 *word_bit_index = bit_index & SPDK_BIT_ARRAY_WORD_INDEX_MASK; in bit_array_get_word()
151 spdk_bit_array_get(const struct spdk_bit_array *ba, uint32_t bit_index) in spdk_bit_array_get() argument
155 if (bit_array_get_word(ba, bit_index, &word_index, &word_bit_index)) { in spdk_bit_array_get()
163 spdk_bit_array_set(struct spdk_bit_array *ba, uint32_t bit_index) in spdk_bit_array_set() argument
167 if (bit_array_get_word(ba, bit_index, &word_index, &word_bit_index)) { in spdk_bit_array_set()
176 spdk_bit_array_clear(struct spdk_bit_array *ba, uint32_t bit_index) in spdk_bit_array_clear() argument
180 if (bit_array_get_word(ba, bit_index, &word_index, &word_bit_index)) { in spdk_bit_array_clear()
231 uint32_t bit_index; in spdk_bit_array_find_first_set() local
233 bit_index = bit_array_find_first(ba, start_bit_index, 0); in spdk_bit_array_find_first_set()
239 if (bit_index >= ba->bit_count) { in spdk_bit_array_find_first_set()
240 bit_index = UINT32_MAX; in spdk_bit_array_find_first_set()
243 return bit_index; in spdk_bit_array_find_first_set()
249 uint32_t bit_index; in spdk_bit_array_find_first_clear() local
251 bit_index = bit_array_find_first(ba, start_bit_index, SPDK_BIT_ARRAY_WORD_C(-1)); in spdk_bit_array_find_first_clear()
257 if (bit_index >= ba->bit_count) { in spdk_bit_array_find_first_clear()
258 bit_index = UINT32_MAX; in spdk_bit_array_find_first_clear()
261 return bit_index; in spdk_bit_array_find_first_clear()
429 spdk_bit_pool_is_allocated(const struct spdk_bit_pool *pool, uint32_t bit_index) in spdk_bit_pool_is_allocated() argument
431 return spdk_bit_array_get(pool->array, bit_index); in spdk_bit_pool_is_allocated()
437 uint32_t bit_index = pool->lowest_free_bit; in spdk_bit_pool_allocate_bit() local
439 if (bit_index == UINT32_MAX) { in spdk_bit_pool_allocate_bit()
443 spdk_bit_array_set(pool->array, bit_index); in spdk_bit_pool_allocate_bit()
444 pool->lowest_free_bit = spdk_bit_array_find_first_clear(pool->array, bit_index); in spdk_bit_pool_allocate_bit()
446 return bit_index; in spdk_bit_pool_allocate_bit()
450 spdk_bit_pool_free_bit(struct spdk_bit_pool *pool, uint32_t bit_index) in spdk_bit_pool_free_bit() argument
452 assert(spdk_bit_array_get(pool->array, bit_index) == true); in spdk_bit_pool_free_bit()
454 spdk_bit_array_clear(pool->array, bit_index); in spdk_bit_pool_free_bit()
455 if (pool->lowest_free_bit > bit_index) { in spdk_bit_pool_free_bit()
456 pool->lowest_free_bit = bit_index; in spdk_bit_pool_free_bit()