Lines Matching refs:idr_id
929 int64_t idr_id = __idr_get_empty_slot(&ida_p->idr, stk); in ida_alloc() local
935 if (unlikely(idr_id < 0)) in ida_alloc()
936 return idr_id; in ida_alloc()
938 int64_t layer_id = idr_id & IDR_MASK; in ida_alloc()
952 *p_id = idr_id * IDA_BITMAP_BITS + low_id; in ida_alloc()
953 __idr_mark_full(&ida_p->idr, idr_id, stk, (bmp->count == IDA_FULL ? 2 : 1)); in ida_alloc()
972 int idr_id = __id / IDA_BITMAP_BITS; in ida_count() local
976 struct ida_bitmap *bmp = idr_find(&ida_p->idr, idr_id); in ida_count()
995 int64_t idr_id = __id / IDA_BITMAP_BITS; in ida_remove() local
1002 if (0 == __idr_get_path(&ida_p->idr, idr_id, stk)) in ida_remove()
1005 struct ida_bitmap *b_p = (struct ida_bitmap *)(stk[0]->ary[idr_id & IDR_MASK]); in ida_remove()
1014 __idr_erase_full(&ida_p->idr, idr_id, stk, (b_p->count > 0 ? 1 : 0)); in ida_remove()
1019 stk[0]->ary[idr_id & IDR_MASK] = NULL; // 记得设置为空 in ida_remove()