@宋宝华Barry
老师,你在首先你对CMA的描述是有问题的,他作为movable的后备内存不假,但是他任何时候都是不能成为movable的,具体为什么呢?看我的PPT吧
http://vdisk.weibo.com/s/zhMkbFGKwTOmn
吧!需要先下载,显示会是白色,但是下载下来就能看到内容了,另外文字比较多,这和我做讲座的时候用的版本不同,这些文字是我现场用的讲稿,这样方便没到现场的人也能更好的吐槽我,让我得到更大的进步。对了,如果你在我回答问题前回答出这个问题,还有一个F码作为礼品呢!:)
http://21cnbao.blog.51cto.com/109393/898846/ 另外您那篇关于CMA的文章我也拜读过很多次,而且一直存在我的收藏夹中,我通过其了解了CMA不少的东西。文中这句“这个函数则会通过set_pageblock_migratetype(page, MIGRATE_CMA)将页设置为MIGRATE_CMA类型的:”。这里也是有点点小问题的,这里设置的是页块,一个不在BUDDY系统中的页,我觉得好像是不能设置页的类型的。另外页块在整个迁移系统中也是很重要的,还有那个函数也不是光设置页块类型那么简单,具体也可以看我的PPT。
我个人觉得讲CMA如果能以BUDDY作为开始点,才能比较清晰的让人了解CMA的前因后果,单只从其初始化,以及分配的过程,大部分人都会像我一样晕了吧?
抱歉在得到您对我的PPT的吐槽前就小小的吐槽了您一下,也希望您能认真的吐槽我,这样我也可以得到更好的提高。
另外我看您主要是通过发布的版本来了解CMA的动态,我也大概介绍一下LKML上这块的进展。 其实我也是最近才开始关注这里的发展,如果有疏漏,还请海涵。
首先,CMA在真正需要他的时候分不出去的问题基本算是共识了,Joonsoo Kim 有一套改进 https://lkml.org/lkml/2014/5/28/64 ,还有一个GCMA,当然也有我提的 CMA_AGGRESSIVE https://lk
http://21cnbao.blog.51cto.com/109393/898846/ 另外您那篇关于CMA的文章我也拜读过很多次,而且一直存在我的收藏夹中,我通过其了解了CMA不少的东西。文中这句“这个函数则会通过set_pageblock_migratetype(page, MIGRATE_CMA)将页设置为MIGRATE_CMA类型的:”。这里也是有点点小问题的,这里设置的是页块,一个不在BUDDY系统中的页,我觉得好像是不能设置页的类型的。另外页块在整个迁移系统中也是很重要的,还有那个函数也不是光设置页块类型那么简单,具体也可以看我的PPT。
我个人觉得讲CMA如果能以BUDDY作为开始点,才能比较清晰的让人了解CMA的前因后果,单只从其初始化,以及分配的过程,大部分人都会像我一样晕了吧?
抱歉在得到您对我的PPT的吐槽前就小小的吐槽了您一下,也希望您能认真的吐槽我,这样我也可以得到更好的提高。
另外我看您主要是通过发布的版本来了解CMA的动态,我也大概介绍一下LKML上这块的进展。 其实我也是最近才开始关注这里的发展,如果有疏漏,还请海涵。
首先,CMA在真正需要他的时候分不出去的问题基本算是共识了,Joonsoo Kim 有一套改进 https://lkml.org/lkml/2014/5/28/64 ,还有一个GCMA,当然也有我提的 CMA_AGGRESSIVE https://lk
