int __get_order(unsigned long size)
2024-08-21 08:09:13
2017-12-6 10:26:50
4.9.51
int __get_order(unsigned long size)
{
int order;
size--;
size >>= PAGE_SHIFT;
#if BITS_PER_LONG == 32
order = fls(size);
#else
order = fls64(size);
#endif
return order;
}
1.3.100 __get_order@drivers/block/floppy.c
*/
/* Pure 2^n version of get_order */
static inline int __get_order(unsigned long size)
{
int order;
size = (size-1) >> (PAGE_SHIFT-1);
order = -1;
do {
size >>= 1;
order++;
} while (size);
return order;
}
注:返回值order
块系数k以2为底的对数,[0, NR_MEM_LISTS]
块大小:PAGE_SIZE*k
计算order: order = log2k, k=2^n, 则order=n
k=1 n=0
k=2 n=1
k=4 n=2
k=8 n=3
k=16 n=4
k=32 n=5
最新文章
- Hawk 4.6 并行化
- java静态代理与动态代理
- spark伪分布式安装
- angularjs-ngTable select filter
- delphi 文件的读取(二进制文件和文本文件)
- POJ 2329 (暴力+搜索bfs)
- JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】
- Java——接口
- JMeter4.0源码导入Eclipse记录
- ACM-ICPC Beijing 2016 Genius ACM(倍增+二分)
- python练习(-)
- Get Started with the Google Fonts API
- TCP可靠传输:校验和,重传控制,序号标识,滑动窗口、确认应答
- oracle查询在当前数据库下当前用户拥有的表语句
- Android开发入门——ImageView的设置
- Elasticsearch 2.4.1 Bigdesk 插件安装
- php导出数组到csv格式demo
- 基于preteus的1602液晶显示器的学习(LM016L)
- derby_学习_00_资源帖
- memcached使用libevent 和 多线程模式