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

最新文章

  1. Hawk 4.6 并行化
  2. java静态代理与动态代理
  3. spark伪分布式安装
  4. angularjs-ngTable select filter
  5. delphi 文件的读取(二进制文件和文本文件)
  6. POJ 2329 (暴力+搜索bfs)
  7. JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】
  8. Java——接口
  9. JMeter4.0源码导入Eclipse记录
  10. ACM-ICPC Beijing 2016 Genius ACM(倍增+二分)
  11. python练习(-)
  12. Get Started with the Google Fonts API
  13. TCP可靠传输:校验和,重传控制,序号标识,滑动窗口、确认应答
  14. oracle查询在当前数据库下当前用户拥有的表语句
  15. Android开发入门——ImageView的设置
  16. Elasticsearch 2.4.1 Bigdesk 插件安装
  17. php导出数组到csv格式demo
  18. 基于preteus的1602液晶显示器的学习(LM016L)
  19. derby_学习_00_资源帖
  20. memcached使用libevent 和 多线程模式

热门文章

  1. 如何合并ts文件?
  2. Golang初练手-多线程网站路径爆破
  3. 【配置】log4j.properties 详解与配置步骤
  4. div包裹页面后多余部分没有显示,也没滚动条 overflow 属性设置
  5. C#数字前面如何补0
  6. Anaconda 安装后配置环境变量
  7. Hexo搭建(VPS)
  8. 增强 用文本增强修改SAP标准屏幕中的字段名称 属于元素的文本增强
  9. MySQL like用法
  10. Spring线程池