0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Gigantic巨页与CMA的完全结合

Linux阅码场 来源:Linuxer 2020-07-01 14:46 次阅读

Facebook的Roman Gushcin发送的这个patch把Gigantic巨页(SIZE:1GB)与CMA进行了一个完美的结合:

https://lkml.org/lkml/2020/3/9/1135

CMA有利于在开机的时候就预留一大片内存,但是这片内存如果不被cma_alloc()申请走,则可被movable的页面复用,并不会造成直接的浪费。

Linux的Gigantic hugepage则要求能够在运行时通过

echo 10 > /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages

这样的方法能申请一定数量的1GB Gigantic巨页,由于运行时内存碎片化掉了,这种1GB的Gigantic巨页很可能申请不到。通过CMA的方法,则可以让这种申请在运行时成功。

所以整个故事是:

CMA比如预留4GB内存专门供给hugetlb,如果没有人去进行Gigantic巨页设置,则这个4GB就平时被applications的movable页面使用掉了。

如果有人通过

echo 1 > /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages

拿走1GB,则这1GB就被从CMA拿走,剩下的3GB仍然可以被movable page使用。

用户可以在开机的时候通过hugetlb_cma bootargs来设置CMA的大小,如果是NUMA架构的(假设有4个NUMA NODE),设置hugetlb_cma=4GB大小,则每个NUMA节点会分配到1GB大小的CMA。

从代码看起来,现在申请1GB的gigantic页面的时候,如果有这种CMA区域,是先走CMA区域的:

释放的时候则是也先看有无这种CMA:

如果这种CMA根本不存在,还是会走到老的代码路径:

alloc_contig_pages(nr_pages, gfp_mask, nid, nodemask);

free_contig_range(page_to_pfn(page), 1 << order);

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 内存
    +关注

    关注

    8

    文章

    2998

    浏览量

    73881
  • CMA
    CMA
    +关注

    关注

    0

    文章

    26

    浏览量

    9790

原文标题:Gigantic巨页与CMA的完全结合

文章出处:【微信号:LinuxDev,微信公众号:Linux阅码场】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    英国CMA批准谷歌与Anthropic合作关系

    近日,英国竞争与市场管理局(CMA)宣布了一项重要决定,批准了谷歌与人工智能公司Anthropic之间的合作关系。CMA在周二表示,根据合并规则,这笔交易并未达到需要进行全面调查的标准,因此将避免
    的头像 发表于 11-20 10:55 387次阅读

    贴片电容的标签如何表示?

    贴片电容的标签表示方法通常遵循一定的命名规则,这些规则可以帮助我们快速了解电容的基本参数和特性。以下是根据公开发布的信息归纳的国贴片电容标签的表示方法: 一、型号与系列 CC:表示国电容
    的头像 发表于 11-13 15:10 167次阅读

    昂洋科技谈国贴片电阻的尺寸代码和选购

    贴片电阻是一种广泛应用于电子电路中的小型电阻,其尺寸代码和选购要点对于确保电路性能和可靠性至关重要。以下是对国贴片电阻尺寸代码和选购的详细解答: 一、国贴片电阻的尺寸代码 国
    的头像 发表于 11-01 15:21 117次阅读
    昂洋科技谈国<b class='flag-5'>巨</b>贴片电阻的尺寸代码和选购

    低功耗输出频率32.768kHz的汽车用晶振SG-3031CMA

    今天来给大家介绍一款低功耗,输出频率为32.768kHz的汽车用晶振:SG-3031CMA X1B000401A00116。晶振SG-3031CMA的VIO PIN是CMOS接口,可用作OE
    发表于 08-28 11:47 0次下载

    衢州季丰获得CMA扩项资质认定证书

    近日,衢州季丰检测技术有限公司(以下简称“衢州季丰”)成功通过浙江省市场监督管理局的审核,获得了CMA(中国计量认证)扩项资质认定证书,标志着衢州季丰在实验室检测技术领域又迈出了坚实的一步。
    的头像 发表于 08-19 15:52 569次阅读

    陶瓷贴片电容应用的领域

    陶瓷贴片电容,作为一种高性能的电子元件,其应用领域广泛且多样。以下是国陶瓷贴片电容的主要应用领域,按照不同的行业和应用场景进行归纳: 1、消费电子领域: 手机、笔记本电脑等通信设备:由于国
    的头像 发表于 06-24 14:54 294次阅读
    国<b class='flag-5'>巨</b>陶瓷贴片电容应用的领域

    真正国电容如何识别?

    要识别真正的国电容,可以遵循以下步骤和要点: 1、选择可信赖的供应商:购买国电容时,确保从官方授权的分销商或认可的供应商购买,这样可以降低购买假货的风险。 2、查看包装和标识: 真正的国电容
    的头像 发表于 06-11 15:36 505次阅读
    真正国<b class='flag-5'>巨</b>电容如何识别?

    贴片电容和普通贴片电容有什么不同?

    贴片电容和普通贴片电容在多个方面存在显著的不同。 首先,国贴片电容往往采用先进的薄层化工艺,这使得产品能够在保持较小体积的同时,实现更大的容量。这种微型化和大容量的特性,使得国贴片电容特别
    的头像 发表于 04-26 13:54 361次阅读

    电容的特性和国电容命名规则

    电容器有另一种叫法,贴片电容,它是无铅环保类型的电容器,它是一个片型的形状。电容温度范围宽,耐压性范围宽,可靠性高,安全等优点。被广泛应用于高科技产业。 国电容的特性 ①、高先进的薄层化技术,使
    的头像 发表于 04-25 15:20 442次阅读
    国<b class='flag-5'>巨</b>电容的特性和国<b class='flag-5'>巨</b>电容命名规则

    电容应该怎么挑选?

    电容的挑选方式,一般情况下都是需要根据自己的需求来选择相应的国电容代理商家。 很多人都应该知道现在的国电容代理商是比较多的,所以在选择代理的时候,可以根据他们的服务以及报价来选择。今天国
    的头像 发表于 04-25 15:08 295次阅读
    国<b class='flag-5'>巨</b>电容应该怎么挑选?

    霖科技将亮相IIC Shanghai并发表主题演讲

    活动预告∣霖科技将亮相IIC Shanghai 并发表主题演讲
    的头像 发表于 03-27 09:50 392次阅读
    <b class='flag-5'>巨</b>霖科技将亮相IIC Shanghai并发表主题演讲

    鸿蒙ArkUI开发-实现增删Tab

    本文以浏览器中增加或删除签为例,实现Tabs中签的增删功能。
    的头像 发表于 01-29 18:43 1541次阅读
    鸿蒙ArkUI开发-实现增删Tab<b class='flag-5'>页</b>签

    CMA着手对苹果、谷歌等美科技巨头进行数据披露与开放调查

    针对数码市场份额问题,CMA已筹备设立专门的反垄断团队,构建“战略市场地位”(SMS)标准。据称,此团队将进一步细化分割工作,以便更好地监管个别领军企业。
    的头像 发表于 01-12 11:35 448次阅读

    TC晶振彩

    电子发烧友网站提供《TC晶振彩.pdf》资料免费下载
    发表于 12-12 14:19 3次下载

    MMU多级表映射过程

    物理页面大小一级地址总线宽度不同,表的级数也不同。以AArch64运行状态,4KB大小物理页面,48位地址宽度为例,表映射的查询过程如图: 对于多任务操作系统,每个用户进程都拥有独立的进程地址
    的头像 发表于 11-26 16:28 924次阅读
    MMU多级<b class='flag-5'>页</b>表映射过程