【Linux 内核 内存管理】物理页释放 ( 物理页释放 __free_pages 函数 )
【摘要】
文章目录
一、物理页释放 __free_pages 函数
一、物理页释放 __free_pages 函数
页分配器 提供了 释放 物理页的 函数 __free_pa...
一、物理页释放 __free_pages 函数
页分配器 提供了 释放 物理页的 函数 __free_pages
, 该函数定义在 Linux 内核源码的 linux-4.12\mm\page_alloc.c#4083 位置 ;
__free_pages
函数参数分析 :
struct page *page
参数 表示 要释放的 物理页 page
的 虚拟空间地址 ;
unsigned int order
参数 表示 要释放的 物理页 的 " 阶数 " , 也就是 要释放的物理页大小 ;
阶 ( Order ) : 物理页 的 数量单位 , n n n 阶页块 指的是 2 n 2^n 2n 个 连续的 " 物理页 " ;
参考 【Linux 内核 内存管理】伙伴分配器 ① ( 伙伴分配器引入 | 页块、阶 | 伙伴 )
__free_pages
函数源码 :
void __free_pages(struct page *page, unsigned int order)
{
if (put_page_testzero(page)) {
if (order == 0)
free_hot_cold_page(page, false);
else
__free_pages_ok(page, order);
}
}
源码路径 : linux-4.12\mm\page_alloc.c#4083
文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。
原文链接:hanshuliang.blog.csdn.net/article/details/124457896
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)