Chinaunix首页 | 论坛 | 博客
  • 博客访问: 198345
  • 博文数量: 23
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 428
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-05 12:46
个人简介

博客转移至CU。之前的百度空间博客http://hi.baidu.com/williwill。

文章分类

全部博文(23)

文章存档

2014年(18)

2013年(5)

我的朋友

分类: C/C++

2014-03-24 00:53:08

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) |
给主人留下些什么吧!~~