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

优秀的版式设计网站网站建设与规划前景

优秀的版式设计网站,网站建设与规划前景,电商外贸平台有哪些,一起做陶艺搬上网站前言 这里说的是 内核中分配按页分配的场景 常用于 驱动什么的, 分配 中大型空间 由于 连续的 n 个页是分别使用 alloc_pages 分配的, 因此是 虚拟地址空间连续, 但是 物理地址空间不连续 如何分配对象 两个步骤, __get_vm_area_node 获取为 size 分配的 vma 区间, 然后…

前言

这里说的是 内核中分配按页分配的场景 

常用于 驱动什么的, 分配 中大型空间 

由于 连续的 n 个页是分别使用 alloc_pages 分配的, 因此是 虚拟地址空间连续, 但是 物理地址空间不连续 

 

 

如何分配对象

两个步骤, __get_vm_area_node 获取为 size 分配的 vma 区间, 然后 __vmalloc_area_node 为给定的 vma 分配 n 个物理页 

fb926df531e64551b3ad5ccb454140d0.png

 

首先是定位查询可用空间的起点

free_vmap_cache 的作用是顺序分配的时候快速的定位 first

否则需要从 vmap_area_root 开始, 找到第一个大于 vmalloc 区间的 vma, 然后开始向后查询, 如果没有找到 使用 vstart 作为起始地址[vmalloc区间的第一块空间]

从 first 开始向后查询, 查询第一块空闲的可以容下 size 的空间, 来分配空间 

如果是遍历到 vmap_area_list[是维护了虚拟地址顺序的] 的末尾, 以最后一块 vma 的 end 作为起始地址

找到空间 之后判断是否 overflow, 如果 overflow 走清理空间, 然后重试的处理 

然后以 [addr, addr+size)作为当前待分配的 vma 的空间, 然后将 vma 添加到 vmap_area_root 上面, 以及将添加到 vmap_area_list 中[按照虚拟地址排序]

 

e3da4b31b8a84c1da2965f741da3c4f5.png509908496e4b4780ae40ba1fa0105dec.png

 

 

purge_vmap_area_lazy

寻找 vmap_purge_list 的地址空间的区间, 如果没有待释放的 vma, 直接返回 

否则 以此 __free_vmap_area, 更新统计信息 

 

0f1f6d3b3d3b48e59cd15bc846a38971.png

 

从 vmap_area_root 中删除当前 vma, 从 vmap_area_list 中删除当前 vma 

a00d2f9a0e96416b81383c4650440f88.png

 

__vmalloc_area_node 计算 size 所需要的物理页的数量 

然后循环 alloc_pages 分配物理页, 并和 vma 建立关联, 注册页表关联 等等

58cf4c61b55b460e947a878fbc41fbe0.png

 

 

如何释放空间  

remove_vm_area 为将 addr 对应的 vma 添加到 vmap_purge_list, 移除相关注册的 页表关联 

__free_pages 清理掉关联的相关物理页 

真实的 vma 相关数据的清理是在 xxx_purge_vmap_area_xx 相关函数中具体去实现 

ab95437ae82243118d05d4b9f89f10c1.png

 

将当前 vma 添加到 vmap_purge_list, 如果超过了 阈值, 则直接 try_purge_vmap_area_lazy 清理空间 

否则是在 分配空间的时候, vma 不够的时候 会 purge_vmap_area_lazy 清理空间 

72e1e0d30c4149c1b78f87ae9947b7c9.png

 

 

 

 

 

http://www.yayakq.cn/news/322955/

相关文章:

  • 哈尔滨网站开发方案网站开发seo要求
  • 如何做百万格子网站上海工程建设执业资格注册中心网站
  • 重庆网站建设的公司哪家好设计页面ui
  • 登录网站怎么做建设工程建筑网
  • 资阳市住房和城乡建设局网站网站建设 部署与发布题库
  • 藁城网站建设做问卷调查的是哪个网站好
  • 网站开发实例pdf营销型网站建设新感觉建站
  • 女性开源网站512 做网站
  • 个人性质的网站 备注怎么写大良网站建设价格
  • ie6 网站模板企业站官网
  • 怎么样让网站快速收录重庆市建设工程招标投标交易信息网
  • 网站关键字优化软件哈尔滨网站建设企业
  • 怎么做一个公司网站phpcms模板行业网站
  • python怎么做视频网站滨江网站建设
  • 做交通工程刬线的网站公司安平县做百度网站电话
  • oss如何做网站推广普通话奋进新征程
  • 龙口网站设计网站内如何@
  • cms网站开发实验报告暖暖 免费 视频 在线观看1
  • 网站设计常用字体电商平台建站
  • 知名网站定制公司电话建设商城类的网站要多少钱
  • 安丘网站建设报价怎样组建企业网站
  • 网站建设太金手指六六二九wordpress一栏多图
  • 视频网站外链怎么做汕头网站推广多少钱
  • 网站后台中文模板wordpress $query
  • dede中英文网站想建设网站前期调研报告如何写
  • 优秀个人网站设计网站 模块
  • 湛江市建网站推广普通话的意义
  • 加强政务网站建设公司网站模板 网盘下载
  • 万江区仿做网站一学一做看视频网站有哪些
  • 做网站公司凡科网站后台需要多少