当前位置: 首页 > news >正文

南通网站建设策划书天城建设网站

南通网站建设策划书,天城建设网站,南京建设厅官方网站,免费照片模板制作函数功能#xff1a;获取barrier bucket对齐之后的扇区长度。 源码调用#xff1a; good_sectors align_to_barrier_unit_end(sector_nr, good_sectors);其中good_sectors的值为128#xff0c;也就是缺省同步chunk size 64K#xff0c;kretprobe跟踪的结果来看#xff0…函数功能获取barrier bucket对齐之后的扇区长度。 源码调用 good_sectors align_to_barrier_unit_end(sector_nr, good_sectors);其中good_sectors的值为128也就是缺省同步chunk size 64Kkretprobe跟踪的结果来看跟踪到的值为128这个值是固定的 - - 不是。 函数原型static sector_t align_to_barrier_unit_end(sector_t start_sector, sector_t sectors) 参数 start_sector操作的其实扇区号。sectors期望操作的扇区范围。 返回值可操作扇区的范围。 static sector_t align_to_barrier_unit_end(sector_t start_sector,sector_t sectors) {sector_t len;WARN_ON(sectors 0);/** len is the number of sectors from start_sector to end of the* barrier unit which start_sector belongs to.*//* len 是start_sector所属的屏障单元从start_sector到末端的扇区数。 */len round_up(start_sector 1, BARRIER_UNIT_SECTOR_SIZE) -start_sector;if (len sectors)len sectors;return len; }/** This looks more complex than it should be. But we need to* get the type for the ~ right in round_down (it needs to be* as wide as the result!), and we want to evaluate the macro* arguments just once each.*/ #define __round_mask(x, y) ((__typeof__(x))((y)-1)) #define round_up(x, y) ((((x)-1) | __round_mask(x, y))1) #define round_down(x, y) ((x) ~__round_mask(x, y))举个例子假设要对齐的起始扇区号为7BARRIER_UNIT_SECTOR_SIZE的值为117。 A __round_mask (117) - 1 0 1111 1111 1111 1111 B x - 1 8 - 1 0111 (A | B 0 1111 1111 1111 1111) 1 1 0000 0000 0000 0000 所以此时round_up的返回值依然为BARRIER_UNIT_SECTOR_SIZE。 那么如果当起始扇区号大于BARRIER_UNIT_SECTOR_SIZE会是怎么样呢假设起始扇区号为x 1 0000 0000 0000 0010。 A __round_mask (117) - 1 0 1111 1111 1111 1111 B x - 1 1 0000 0000 0000 0001 (A | B 1 1111 1111 1111 1111) 1 10 0000 0000 0000 0000 所以此时round_up的返回值为BARRIER_UNIT_SECTOR_SIZE 1就是118是BARRIER_UNIT_SECTOR_SIZE 的两倍。 所以round_up 宏的作用是返回给定数 x 向上舍入到最接近的 y 的倍数。 整明白round_up函数的能力之后再看看align_to_barrier_unit_end这个函数。 len round_up(start_sector 1, BARRIER_UNIT_SECTOR_SIZE) - start_sector;len的值是取到最接近BARRIER_UNIT_SECTOR_SIZE整数倍的值然后再减去扇区的起始扇区的值len的值就是是start_sector所属的屏障单元从start_sector到bucket末端的扇区数。 -----------------barrier bucket------------------------ | | | | | start sector bucket_end - sectors | -----------------barrier bucket------------------------if (len sectors)len sectors;如果len大于期望操作的扇区数表示所有扇区区间落在barrier bucket范围内直接返回期望操作的扇区数。如果len小于等于期望操作的扇区数表示有一部分扇区超过barrier bucket范围只能返回在bucket范围内的长度len以保证不越界。
http://www.pierceye.com/news/745391/

相关文章:

  • 网站开发公司的义务深圳 电子商务网站开发
  • 北京外贸网站设计备案宁波网站推广专业的建站优化公司
  • 政协系统网站建设织梦手机网站
  • 网站建设上海网站制作如何修改上线网站
  • 漫画网站建设教程网站描述怎么设置
  • 网站左侧树形导航怎么做农村网站做移动
  • 建立企业网站方案php做简单网站教程
  • 一个网站交互怎么做的银行营销活动方案
  • 网站读取速度慢58同城二手房出售
  • 个人备案 网站名称 例子wordpress怎样下载
  • 郑州网络营销网站定制做网站服务
  • 学校网站英文怎么做souq网站
  • 原油可以取什么做标题发网站免费建网站哪个好
  • 莱特币做空 网站一个虚拟主机可以放几个网站
  • 注册个体可以做网站吗太平洋建设集团有限公司
  • 餐饮环境评估在哪个网站做天元建设集团有限公司法人
  • 汽车租赁网站开发网站建设实验周志与总结
  • 有没有哪个做美食的网站wordpress多用户模版
  • 网站关键词几个justnews wordpress
  • 创维爱内购网站2017网站设计尺寸
  • 网站建设的一般过程包括哪些方面手机免费制作app的软件下载
  • dw对网站建设有哪些作用深圳团购网站设计多少钱
  • 阿里巴巴网站详情页怎么做龙岩公司做网站
  • 网站后台这么做视频教程佛山百度seo排名
  • 网站建立吸引人的策划活动适合做推广的平台
  • 无锡市住房和城乡建设局网站昆明做网站的网络公司
  • 家居seo整站优化方案已经有了网站源代码怎样搭建
  • 红河州网站建设对网站做维护
  • 网站建设5000费用预算wordpress 鼠标点击特效
  • 江门企业自助建站系统做网站诱导网站