The invention discloses a system and a method for dynamically allocating MMIO resources. The method comprises the following steps: obtaining a CPU MMIO resources needed to address segment size; query MMIO resources free memory in the address space; determine the MMIO address segment resources free memory address space of CPU is greater than or equal to the required MMIO resource size, and in the judgment of the results is. Address is assigned to the CPU corresponding to the size of a vacancy from the address. Through the above method, the invention can dynamically provide corresponding size MMIO resources to the CPU, so as to solve the problem that the equipment caused by insufficient MMIO resources on the CPU can not be used, and the full utilization of the MMIO resources can be realized.
【技术实现步骤摘要】
一种系统及其动态分配MMIO资源的方法
本专利技术涉及资源分配
,尤其是涉及一种系统及其动态分配MMIO资源的方法。
技术介绍
现有的大部分系统,例如X86系统中,大部分的PCI(PeripheralComponentInterconnect,外设部件互连标准)设备都需要用到32位的MMIO(MemorymappingI/O,内存映射I/O)资源,通常我们将32位的MMIO资源称为MMIOL(MemoryMapIOLow,低内存映射I/O)资源。MMIOL资源通常位于系统的内存地址4GB以下。在多节点大系统中,由于系统中CPU(CentralProcessingUnit,中央处理器)数量比较多,PCI设备所需的MMIOL资源显得比较紧缺。如何合理的分配MMIOL资源显得尤为重要,现有技术提供了两种MMIOL资源的分配方案,具体如下文所述。第一种分配方案:属于完全固定的MMIOL资源分配方式。具体而言,每个物理CPU所分配到的MMIOL资源的大小都是不变的。例如,若MMIOL资源的大小为2GB,规定每个CPU分配32MB的MMIOL资源。则在64个CPU组成的NC系统中,MMIOL资源全部分配到每个CPU中。但在32个CPU组成的NC系统中,由于每个CPU同样是分配到32MB的MMIOL资源,则会剩余1GB的MMIOL资源,由此造成资源的浪费。第二种分配方案:属于不完全固定的MMIOL资源分配方式。具体而言,不论多节点系统的规模是多大,系统中所有的MMIOL资源都会被分配完。例如,若MMIOL资源的大小为2GB,则在64个CPU组成的NC系统中,每个C ...
【技术保护点】
一种系统动态分配MMIO资源的方法,其特征在于,所述方法包括以下步骤:获取一CPU所需的MMIO资源的大小;查询内存地址空间中的MMIO资源空余的地址段;判断所述内存地址空间中的MMIO资源空余的地址段是否大于或等于所述CPU所需的MMIO资源的大小,并在判断的结果为是时,从所述空余的地址段中分配对应大小的地址段给所述CPU。
【技术特征摘要】
1.一种系统动态分配MMIO资源的方法,其特征在于,所述方法包括以下步骤:获取一CPU所需的MMIO资源的大小;查询内存地址空间中的MMIO资源空余的地址段;判断所述内存地址空间中的MMIO资源空余的地址段是否大于或等于所述CPU所需的MMIO资源的大小,并在判断的结果为是时,从所述空余的地址段中分配对应大小的地址段给所述CPU。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在判断的结果为否时,不进行MMIO资源的地址段的分配,并返回错误提示。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:枚举所述CPU的PCI设备,并根据所述PCI设备来计算所述CPU所需的MMIO资源的大小。4.根据权利要求1所述的方法,其特征在于,所述从所述空余的地址段中分配对应大小的地址段给所述CPU的步骤还包括:对所述对应大小的地址段设置译码规则,然后再将设置了译码规则的所述对应大小的地址段分配给所述CPU,使得所述CPU可以根据所述译码规则去访问所述对应大小的地址段。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:判断是否给每一个CPU都分配了对应大小的地址段,并在判断的结果为否时继续执行获取一CPU所需的MMIO资源的大小的步骤,以给未分配对应大小的地址段的CPU分配MMIO资源空余的地址段。6.根据权利要求1所述的方法,其特征在于,所述MMIO资源的大小为1GB-2GB。7.一种系统,其特征在于,所述系统包括至少一个节点,所述至少一个节点包括至少一个CPU和节点控制...
【专利技术属性】
技术研发人员:周超,杨腾飞,姜广吉,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。