idr即"ID
Radix",内核中通过radix树对ID进行组织和管理,是一种将整数ID和指针关联在一起的一种机制。radix树基于以二进制表示的键值的查找
树,尤其适合于处理非常长的、可变长度的键值。查找时每个节点都存储有进行下一次的bit测试之前需要跳过的bit数目,查找效率比较高。
DEFINE_IDR(name) :创建struct idr建立radix树;
int idr_alloc(struct idr *idr, void *ptr, int start, int end, gfp_t gfp_mask) :分配一个ID(未占用最小值),加入一个节点并将ID和指针关联;
static inline void *idr_find(struct idr *idr, int id) :根据ID查找radix树,返回ID关联的指针。
阅读(6959) | 评论(0) | 转发(0) |