免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3262 | 回复: 7

[内存管理] bootmem没了? [复制链接]

论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2014-06-06 15:49 |显示全部楼层
没了?

求指点!谢谢!

论坛徽章:
17
水瓶座
日期:2013-08-29 12:09:27白羊座
日期:2014-08-07 12:36:42丑牛
日期:2014-07-24 12:44:41寅虎
日期:2014-04-16 16:15:33寅虎
日期:2014-03-12 09:28:43摩羯座
日期:2014-03-06 13:22:04技术图书徽章
日期:2014-03-06 11:34:50天蝎座
日期:2014-01-09 11:31:44寅虎
日期:2013-12-27 17:01:44双子座
日期:2013-12-27 12:32:29双子座
日期:2013-12-25 09:03:33丑牛
日期:2013-12-24 16:18:44
发表于 2014-06-06 16:04 |显示全部楼层
回复 1# chishanmingshen

The NO_BOOTMEM patches

http://lwn.net/Articles/382559/
   

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:58:11
发表于 2014-06-06 17:49 |显示全部楼层
还有啊,
mm/bootmem.c和mm/nobootmem.c两种实现

论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2014-06-08 09:54 |显示全部楼层
回复 2# asuka2001


    不知有何区别啊,想了解下。。。

论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2014-06-08 09:54 |显示全部楼层
回复 3# arm-linux-gcc


    留下的是给非x86用的。

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:58:11
发表于 2014-06-09 08:24 |显示全部楼层
回复 5# chishanmingshen


    不了解x86,一直都是只看arm的

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:58:11
发表于 2014-06-09 08:35 |显示全部楼层
本帖最后由 arm-linux-gcc 于 2014-06-09 08:44 编辑

回复 5# chishanmingshen


    搜索了一下,发现arm64也没有使用bootmem了。

nobootmem.c里面的实现其实就是直接使用memblock_reserve了,没有按照page来划分。
和early_alloc的实现是一个原理,都是调用memblock_find_in_range_node和memblock_reserve。


而bootmem.c需要按照page来记录分配情况,contig_page_data.bdata.node_bootmem_map,这个指针指向一个动态分配的buffer(调用memblock_alloc_base来分配的,底层实现仍然是memblock_find_in_range_node和memblock_reserve),
buffer中每一个bit都表示一个low memory page,为1表示已分配,为0表示空闲,
设置node_bootmem_map这个buffer中各个bit的初值的时候,是遍历memblock.memory.regions和memblock.reserved.regions,会将reserved.regions对应的那些bit设置为1.









论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2014-06-09 16:08 |显示全部楼层
回复 7# arm-linux-gcc


    貌似arm早就用上了early_alloc/memblock了, 呵呵。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP