get_user_pages_remote映射一点小分析

问题:这个get_user_page后,到底得到了啥?访问它会发生啥?

先上结论:

1. get_user_page后,如果成功,则struct page引用会加1,表示被引用中。mmu页表项也会分配出一个page,此时仍然是no present的。直到真实的access内容时才会page in。

这样做的好处是,lazy handle。

2.访问它时,这时会触发page fault。发生page in。载入内容。

pte_present(entry) 当前内容不在主存上。

pte_none(entry) 未分配了page。

static long __get_user_pages(){

page = follow_page_mask(vma, start, foll_flags, &page_mask);//遍历页表
        if (!page) {
            int ret;
            ret = faultin_page(tsk, vma, start, &foll_flags, 无page,分配一个page.
                    nonblocking);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值