当前位置: 首页 > 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.zqtcl.cn/news/745391/

相关文章:

  • 建设银行不良资产处置网站wordpress啥时候出现的
  • 出口贸易网站网站建设及解决方案
  • 网站服务器要求做网站需要的服务器
  • 网站后台 编辑器 调用网站优化搜索排名
  • 汽车网站建设规划书网站首页版式
  • 国外网站推广方法wnmp 搭建WordPress
  • 网站建设流程 文档企业网上办事大厅
  • .net怎么做网站域名备案注销流程
  • 检测网站建设网站搭建注意事项
  • 河北建设工程信息网站网站的建设要多少钱
  • 玉林住房和城乡建设局网站官网google广告在wordpress
  • 海淀网站建设公司wordpress 招聘网站模板
  • 手机网站在哪里找到网上能免费做网站发布叼
  • 网站设置英文怎么说广州优质网站建设案例
  • 外贸怎样做网站临汾花果街网站建设
  • 专业集团门户网站建设方案南昌医院网站建设
  • 用php做美食网站有哪些新建网站如何做关键词
  • 企业网站建设招标微信公众平台官网登录入口网页版
  • 网站宣传图网站程序预装
  • 网站设计论文选题seo排名优化推广报价
  • wordpress图床网站百度链接收录
  • 八年级信息网站怎么做电商网站的支付接入该怎么做呢
  • wordpress 的应用大兴安岭地网站seo
  • 网站建站作业做直播网站赚钱
  • 网站建设虍金手指花总简单免费制作手机网站
  • 京东网站是刘强冬自己做的吗献县网站建设价格
  • 余姚什么网站做装修比较好邢台企业做网站哪儿好
  • 网站建设后端国外购物平台排行榜前十名
  • 西安做百度推广网站 怎样备案简述商务网站建设
  • 如何建设本地网站东莞常平限电通知2021