开始研究4.4.30内核了
终于决定开干现代内核了,内核代码太大了,在国内clone更是跟蜗牛一样,遂决定在我的VPS上clone下来,然后根据需要将某些源码下载到我的本地电脑上。结果git毫不留情的吃掉了我VPS所有的内存,最后被内核OOM机制干掉了。把git的内存配置修改了个遍也不能解决,于是只好动用shallow clone了:git clone --depth 1--no-single-branch git://xxxclone完后挑选了几个目录下载下来,压缩后一共16M,解压后100多M。打开Source Insight建立工程,今晚就开始阅读一下内存管理的代码,试试感觉如何。目测4.4和2.4的代码已经是天差地别。
给楼主提个问题研究下 ?
现在x86_64 x86_32 以及当前流行的 armv7,内核内存管理中,对于vmalloc区,当进程页表切换时,是否影响vmalloc区的内存映射,
也即对于当前进程下vmalloc新分配的虚拟内存页面,切换到新进程后是否需要更新新进程的这部分映射? 剑魂箫心 发表于 2016-11-10 16:57
终于决定开干现代内核了,内核代码太大了,在国内clone更是跟蜗牛一样,遂决定在我的VPS上clone下来,然后 ...
既然楼主研究内核源码,给楼主提个问题研究下 ?
现在x86_64 x86_32 以及当前流行的 armv7,内核内存管理中,对于vmalloc区,当进程页表切换时,是否影响vmalloc区的内存映射,
也即对于当前进程下vmalloc新分配的虚拟内存页面,切换到新进程后是否需要更新新进程的这部分映射?
剑魂箫心 发表于 2016-11-10 16:57
终于决定开干现代内核了,内核代码太大了,在国内clone更是跟蜗牛一样,遂决定在我的VPS上clone下来,然后 ...
大黄,kernel.org很快的,如果不想提交patch,直接下.xz就行了
加油:luya:
回复 4# 流氓无产者
也是,用git 只克隆最近的一个commit和直接下.xz已经没有什么区别了{:yct79:} 回复 2# mordorwww
涉及进程调度子系统啊......
回复 1# 剑魂箫心
支持。搞起来。 本帖最后由 mordorwww 于 2016-11-11 11:48 编辑
剑魂箫心 发表于 2016-11-11 10:04
回复 2# mordorwww
涉及进程调度子系统啊......
看下内核内存区页表,vmalloc如何更新内核内存区页表应该就行吧
我主 要是 不知道不同进程 对 内核内存区页表的共享程度。是完全 要拷贝一份 ,还是 引用 即可,还是介于两者间
回复 8# mordorwww
这么一说我觉得找一个内存分配API跟着向下看也许是条可行的路。
剑魂箫心 发表于 2016-11-11 11:45
回复 8# mordorwww
这么一说我觉得找一个内存分配API跟着向下看也许是条可行的路。
主要是不知道不同进程 对 内核内存区页表的共享程度。是完全要拷贝一份 ,还是 引用 即可,还是介于两者间
这个跟虚拟内存页表结构和 进程页表结构关系很大