Lines Matching refs:bitmap

371 	struct ida_bitmap *bitmap;  in ida_get_new_above()  local
398 bitmap = rcu_dereference_raw(*slot); in ida_get_new_above()
399 if (radix_tree_exception(bitmap)) { in ida_get_new_above()
400 unsigned long tmp = (unsigned long)bitmap; in ida_get_new_above()
408 bitmap = this_cpu_xchg(ida_bitmap, NULL); in ida_get_new_above()
409 if (!bitmap) in ida_get_new_above()
411 bitmap->bitmap[0] = tmp >> RADIX_TREE_EXCEPTIONAL_SHIFT; in ida_get_new_above()
412 rcu_assign_pointer(*slot, bitmap); in ida_get_new_above()
415 if (bitmap) { in ida_get_new_above()
416 bit = find_next_zero_bit(bitmap->bitmap, in ida_get_new_above()
424 __set_bit(bit, bitmap->bitmap); in ida_get_new_above()
425 if (bitmap_full(bitmap->bitmap, IDA_BITMAP_BITS)) in ida_get_new_above()
433 bitmap = (void *)((1UL << ebit) | in ida_get_new_above()
436 bitmap); in ida_get_new_above()
439 bitmap = this_cpu_xchg(ida_bitmap, NULL); in ida_get_new_above()
440 if (!bitmap) in ida_get_new_above()
442 __set_bit(bit, bitmap->bitmap); in ida_get_new_above()
443 radix_tree_iter_replace(root, &iter, slot, bitmap); in ida_get_new_above()
454 struct ida_bitmap *bitmap; in ida_remove() local
463 bitmap = rcu_dereference_raw(*slot); in ida_remove()
464 if (radix_tree_exception(bitmap)) { in ida_remove()
470 btmp = bitmap->bitmap; in ida_remove()
477 if (radix_tree_exception(bitmap)) { in ida_remove()
482 kfree(bitmap); in ida_remove()
509 struct ida_bitmap *bitmap = rcu_dereference_raw(*slot); in ida_destroy() local
510 if (!radix_tree_exception(bitmap)) in ida_destroy()
511 kfree(bitmap); in ida_destroy()