gpt4 book ai didi

linux - __get_free_page,物理地址和交换

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:41:21 24 4
gpt4 key购买 nike

假设调用__get_free_page 以向内核请求ZONE_NORMAL 区域中的空闲页面,因此带有GFP_KERNEL 标志。我们知道返回的地址是一个内核逻辑地址,所以在页表中存在一个“永久”映射用于该逻辑地址,物理地址是用宏__pa计算的。我的问题是:如果该页面存在永久映射,那么该页面是否可以交换到磁盘?如果是,我想当它再次在内存中交换时,它每次都会放在同一个页面框架中......这是正确的吗?

最佳答案

如果您在内核中使用 __get_free_page 在内核中分配一个页面,它不可交换。在 Linux 中,struct page 跟踪不可交换的物理页面。交换在用户空间映射级别及其内容上进行;因此,如果用户空间内存被换出,内容可能会换回不同的物理页面。但是该物理页面将映射到相同的用户空间虚拟地址。

内核内存在 Linux 中不可交换。

关于linux - __get_free_page,物理地址和交换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9144098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com