博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux 内存函数
阅读量:4191 次
发布时间:2019-05-26

本文共 1001 字,大约阅读时间需要 3 分钟。

copy_to_user

在这里插入图片描述

__arch_copy_to_user

在这里插入图片描述

vmalloc

从高端内存区highmem分配内存,虚拟内存地址是连续的,但是物理地址不是连续的

void *vmalloc(unsigned long size)

for (i = 0; i < area->nr_pages; i++) {                struct page *page;                if (node == NUMA_NO_NODE)                        page = **alloc_page**(alloc_mask|highmem_mask);                else                        page = alloc_pages_node(node, alloc_mask|highmem_mask, 0);                if (unlikely(!page)) {                        /* Successfully allocated i pages, free them in __vunmap() */                        area->nr_pages = i;                        goto fail;                }                area->pages[i] = page;                if (gfpflags_allow_blocking(gfp_mask|highmem_mask))                        cond_resched();        }        if (**map_vm_area**(area, prot, pages))                goto fail;        return area->addr;

如何分配内存:

__vmalloc_area_node -> alloc_page
-> map_vm_area
在这里插入图片描述

会从高端内存区进行alloc_page操作

在这里插入图片描述

内存管理经典函数

  1. get_user_pages
  2. follow_page
  3. vm_normal_page

转载地址:http://oiloi.baihongyu.com/

你可能感兴趣的文章
芯片短缺蔓延至手机市场:骁龙888短缺 三星中低端机型生产受阻
查看>>
用你的视频号“薅”微信流量,这个灰产太野了!
查看>>
苏宁易购回复深交所关注函:深国际和鲲鹏资本非一致行动人
查看>>
亿航智能⻓续航⻜机有望在4-8周内首⻜亮相
查看>>
微信:2021年1月至今封禁了1531个视频号帐号
查看>>
阿里系上市公司老板娘微博喊老公回家!多少创业鸟,已成纷飞燕?
查看>>
keep公众号就“借鉴”原创文章致歉:将停更一周
查看>>
新希望:拟参与设立总规模40亿元的广西新希望生猪保供专项产业基金
查看>>
瑞银:将京东目标价上调至110美元 维持“买入”评级
查看>>
刘作虎:今年一加9系列不会送测DxO
查看>>
柴犬为什么总是被卡住狗头?
查看>>
特斯拉回应海南碰撞事故:地面湿滑 车主踩制动踏板幅度较轻
查看>>
经济学家建议茅台国外售价为国内2倍:未来最有可能走向世界的奢侈品牌
查看>>
华为P50渲染图曝光:后背丑哭?
查看>>
松下计划摆脱对特斯拉依赖 与其他汽车制造商合作
查看>>
华为说:要有光
查看>>
国际区块链专利统计:蚂蚁、平安、腾讯分列申请数前三名
查看>>
上市4年,现在苹果要停产它了
查看>>
月薪23333元!淘宝招募“首席鉴雕官”,只需天天哈哈哈哈哈
查看>>
缺货警告!小米这款手机已被骂惨...
查看>>