一种改进型内存域划分方法_2

文档序号:9506130阅读:来源:国知局
统内存热加机制的需要重新划分内存域,不利于自动化逻辑热加内存的问题。
[0033]具体的,该方法可表示为一种新算法,视为一种改进型内存域划分的算法,具体设计主要包括以下两个阶段:
[0034](1)配置选项:
[0035]该算法需要依赖两个配置同时配置后才能打开开关:
[0036]内核的配置选项C0NFIG_M0VABLE_N0DE ;
[0037]内核的启动选项movable_node0
[0038](2)内存物理热加的域划分:
[0039]首先,基于原有的划分机制默认新增内存的域是NORMAL的;
[0040]然后,判断新算法的开关是否已经打开,如果已经打开,则判断NORMAL域是否为空,如果为空则新增内存的域为MOVABLE,如果NORMAL域不为空,则判断新增的内存地址是否比NORMAL域的边界地址大,如果大于等于则新增内存的域为M0VALBE,如果小于则新增内存的域为NORMAL
[0041]再次,如果新算法的开关是关闭的,则判断是否存在MOVABLE域,如果存在则判断新怎内存的地址是否比MOVABLE域的起始地址大,如果大于等于则新增内存的域为MOVABLE否则为NORMAL,如果MOVABLE不存在则新增内存的域为NORMAL。
[0042]具体的,在热添加内存时,避免了为了保持内存的可移除性,需要在物理热加阶段将内存划分到相应的域后,在逻辑热加内存时重新划分内存域的操作,解决了自动化逻辑热加内存时重新划分内存域对时序要求严格的问题,同时算法也保持了系统中的内存域的顺序。用户的可选择性是指为了用户可已根据自己的实际情况,在需要保持新增内存的可移除性的时候通过相应的配置选项使用该算法来提高内存热加的效率,同时解决自动化逻辑热加内存时重新划分内存域对时序要求严格的问题。
[0043]该方法的具体实施方面,有以下具体流程:
[0044]1、搭建硬件平台,在此次实验中使用了两个cpu两个内存板卡,两个内存条。
[0045]2、首先使用一个cpu及一个内存板卡及一个内存条组成nodeO,然后启动1 inux系统。
[0046]3、在系统中使用 make menuconfig 命令配置 C0NFIG_M0VABLE_N0DE = Y 选项。
[0047]4、修改内核代码,并使用以下命令编译内核:
[0048]make clean清除编译环境;
[0049]make命令重新编译内核;
[0050]make modules_install 安装各个模块;
[0051]make install 安装内核。
[0052]5、修改grub, cfg文件,在对应的内核后面添加启动选项movable_node,重启系统。
[0053]6、将第二个cpu,内存板卡,内存条组成nodel,然后热加该node。
[0054]7、执行 ls-v/sys/device/system/node/nodel 查看所有的 cpu 及 memory,然后执行 cat/sys/devices/system/memory/memory*/removable 依次查看新增内存的的removable都为1即新增的内存都是可以移除的;
[0055]再执行echo l>/sys/devices/cpu/cpu*/online 依次将所有 cpu 逻辑上线;
[0056]再执行echo online)/sys/devices/system/memory/memory*/state 依次将所有热加的内存逻辑上线。在此所有的新增的内存不再需要执命令echo online_movable>/sys/devices/system/memory/memory*/state重新划分内存域后进行逻辑上线了,由于原有的命令对于触发的时序要求比较严格,因此新的算法在自动化逻辑内存热加时不再需要考虑触发命令的时序问题了。
[0057]综上,本发明所提供的一种改进型内存域划分方法,在对内存物理热加的域划分过程中,判断内存物理热加的域中是否存在NORMAL域;若内存物理热加的域中存在NORMAL域,判断新增内存的内存地址是否大于NORMAL域的边界地址,当新增内存的内存地址大于NORMAL域的边界地址时,将新增内存全部加载到MOVABLE域中。
[0058]可见,在NORMAL域存在的情况下,新增内存的内存地址大于NORMAL域的边界地址时,将新增内存全部加载到MOVABLE域中,而且新增内存本身具有可移除性,表明在对内存物理热加的域划分过程中,能够将原本划分到NORMAL域中的新增内存划分到MOVABLE域中,即在内存物理热加过程中重新划分区域,这样在后续的内逻辑热加不用再对新增内存重新划分,如此在内存进行物理热加时能够自动的将新增的物理内存划分到可移除域中即MOVABLE域中,避免逻辑热加内存时重新划分域,解决了自动化逻辑热加内存对时序要求严格的问题,也就不存在逻辑热加内存时的时序问题,避免了产生时序问题,所以实现在内存物理热加过程中重新划分区域,避免产生时序问题。
[0059]以上对本发明所提供的一种改进型内存域划分方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
【主权项】
1.一种改进型内存域划分方法,其特征在于,包括: 在对内存物理热加的域划分过程中,判断内存物理热加的域中是否存在NORMAL域;若内存物理热加的域中存在NORMAL域,判断新增内存的内存地址是否大于NORMAL域的边界地址,当新增内存的内存地址大于NORMAL域的边界地址时,将新增内存全部加载到MOVABLE 域中。2.如权利要求1所述的方法,其特征在于,所述方法还包括: 若内存物理热加的域中不存在NORMAL域,将新增内存全部加载到MOVABLE域中。3.如权利要求1所述的方法,其特征在于,所述方法还包括: 当新增内存的内存地址等于NORMAL域的边界地址时,将新增内存全部加载到MOVABLE域中。4.如权利要求1所述的方法,其特征在于,所述方法还包括: 当新增内存的内存地址小于NORMAL域的边界地址时,将新增内存全部加载到NORMAL域中。5.如权利要求1所述的方法,其特征在于,所述当新增内存的内存地址大于NORMAL域的边界地址时,将新增内存全部加载到MOVABLE域中,包括: 当新增内存的内存地址大于NORMAL域的边界地址时,判断内存物理热加的域中是否存在MOVABLE域;若是,将新增内存全部加载到MOVABLE域中;若否,新建MOVABLE域,将新增内存全部加载到MOVABLE域中。6.如权利要求3所述的方法,其特征在于,所述当新增内存的内存地址等于NORMAL域的边界地址时,将新增内存全部加载到MOVABLE域中,包括: 当新增内存的内存地址等于NORMAL域的边界地址时,判断内存物理热加的域中是否存在MOVABLE域;若是,将新增内存全部加载到MOVABLE域中;若否,新建MOVABLE域,将新增内存全部加载到MOVABLE域中。7.如权利要求1至6中任意一项所述的方法,其特征在于,所述新增内存具有可移除性。
【专利摘要】本发明公开了一种改进型内存域划分方法,该方法包括:在对内存物理热加的域划分过程中,判断内存物理热加的域中是否存在NORMAL域;若内存物理热加的域中存在NORMAL域,判断新增内存的内存地址是否大于NORMAL域的边界地址,当新增内存的内存地址大于NORMAL域的边界地址时,将新增内存全部加载到MOVABLE域中。该方法实现在内存物理热加过程中重新划分区域,避免产生时序问题。
【IPC分类】G06F12/02
【公开号】CN105260321
【申请号】CN201510770151
【发明人】刘长生
【申请人】浪潮(北京)电子信息产业有限公司
【公开日】2016年1月20日
【申请日】2015年11月11日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1