CN102184142A - 一种利用巨页映射降低cpu资源消耗的方法和装置 - Google Patents

一种利用巨页映射降低cpu资源消耗的方法和装置 Download PDF

Info

Publication number
CN102184142A
CN102184142A CN2011100976937A CN201110097693A CN102184142A CN 102184142 A CN102184142 A CN 102184142A CN 2011100976937 A CN2011100976937 A CN 2011100976937A CN 201110097693 A CN201110097693 A CN 201110097693A CN 102184142 A CN102184142 A CN 102184142A
Authority
CN
China
Prior art keywords
huge page
map table
mapping
zone
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011100976937A
Other languages
English (en)
Other versions
CN102184142B (zh
Inventor
刘强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201110097693.7A priority Critical patent/CN102184142B/zh
Publication of CN102184142A publication Critical patent/CN102184142A/zh
Priority to PCT/CN2012/072481 priority patent/WO2012142894A1/zh
Application granted granted Critical
Publication of CN102184142B publication Critical patent/CN102184142B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/652Page size control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种利用巨页映射降低CPU资源消耗的方法和装置,所述方法包括:为各***进程生成记录有由虚拟地址到物理地址映射关系的巨页映射表;在***进程访问某虚拟地址时,若发生缺页流程,则查找所述巨页映射表,获取所述虚拟地址到物理地址的映射关系后加载到转换旁视缓冲器表项中。所述装置包括:巨页映射表生成单元和巨页映射执行单元。本发明所述方法和装置通过将某段内存进行巨页映射,大大减少对TLB数目的需求,使得在一般CPU的内存管理单元中自带的TLB能够映射很大的内存空间,让业务处理进程在运行过程中,短时间内达到一个稳态之后不再产生TLB MISS异常,从而大大提高性能。

Description

一种利用巨页映射降低CPU资源消耗的方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种利用巨页映射降低CPU资源消耗的方法和装置。
背景技术
当前,Linux操作***被大量应用在嵌入式领域,如数据通讯、医疗器械、工业控制等领域。随着需求的不断增长,越来越强大的处理器被应用于这些领域,多核处理器被越来越广泛的应用,在各个行业发挥越来越多的作用。
然而,在某些需要高性能的应用领域,如数据通讯、媒体处理等方向,对性能有着极高的要求;而Linux在提供强大内存管理功能的同时,也带来一个难以回避的劣势:(段)页式内存管理带来的TLB(Translation Lookaside Buffer,转换旁视缓冲器)切换造成的性能降低,特别是在RISC(Reduced Instruction Set Computing,精简指令集计算机)通过异常处理来加载页表项的情况下,性能降低尤为严重。这是由于,很多采用RISC架构嵌入式CPU,出于硬件设计复杂度、成本等的考虑,TLB数目少,均是通过异常处理以加载TLB页表项,这就带来了问题关键点:每次的页表切换加载都是在Linux操作***内核下的异常处理内完成的,而异常(中断)处理需要消耗很大的CPU资源。举例说明,在一个多核处理器中实现了通讯业务处理,在一个物理核心上需要达到200Kpps的处理速度,也就是说每秒要处理20W个报文;如果在每个报文处理流程中都会产生一个TLB MISS异常的话,那么每秒会有20万个异常处理。这样,大量的CPU资源都消耗在异常处理的现场保存、恢复处理了。
目前,在Linux内核中,已经实现有巨页文件***来解决这个问题,但是其实现复杂、应用都不够灵活,存在很多的限制。首先,已有巨页功能实现为一个文件***,实现、处理上复杂;其次,其所使用的巨页大小必须是固定的,不可灵活改配;再次,使用上不方便;其方法是必须在巨页文件***中创建一个文件,然后对这个文件进行文件映射才能使用,经过很多步骤才能使用到巨页带来的好处,且附带很多限制。
发明内容
本发明提供一种利用巨页映射降低CPU资源消耗的方法和装置,用以解决现有技术中由于易产生TLB MISS异常,导致CPU资源被大量消耗的问题。
为了解决上述问题,本发明采用如下方案;
一方面,本发明提供了一种利用巨页映射降低CPU资源消耗的方法,包括:
为各***进程生成记录有虚拟地址到物理地址映射关系的巨页映射表;
在***进程访问某虚拟地址时,若发生缺页流程,则查找所述巨页映射表,获取所述虚拟地址到物理地址的映射关系后加载到转换旁视缓冲器表项中。
其中,所述巨页映射表的表项中包括:物理地址、虚拟地址、页属性和巨页大小信息。
进一步地,所述为各***进程生成记录有虚拟地址到物理地址映射关系的巨页映射表包括:
为所述各***进程创建巨页映射表,并根据用户需求配置巨页映射表的表项数和巨页大小;
对于所述各***进程,为需要映射的合法的物理空间区域申请匹配的未使用的虚拟空间区域;
按照所述物理空间区域和虚拟空间区域的对应关系,得到由虚拟地址到物理地址的映射关系,生成所述巨页映射表的表项。
优选地,所述按照物理空间区域和虚拟空间区域的对应关系,得到由虚拟地址到物理地址的映射关系,生成所述巨页映射表的表项,包括:
计算完成由所述虚拟空间区域到物理空间区域映射所需占用巨页映射表的表项数,并检查所述巨页映射表中是否有足够的表项数,若是,按照所述物理空间区域和虚拟空间区域的对应关系,得到由虚拟地址到物理地址的映射关系,生成所述巨页映射表的表项;否则,返回映射失败消息。
其中,所述合法的物理空间区域是指:所述物理空间区域的起始地址以及物理空间区域的长度与配置的巨页大小符合对齐要求。
进一步地,本发明所述方法还包括:
根据指令,释放指定的虚拟空间区域和该虚拟空间区域占用的巨页映射表的表项,完成解映射。
另一方面,本发明提供一种利用巨页映射降低CPU资源消耗的装置,包括:
巨页映射表生成单元,用于为各***进程生成记录有虚拟地址到物理地址映射关系的巨页映射表;
巨页映射执行单元,用于在***进程访问某虚拟地址且发生缺页流程时,查找所述巨页映射表,获取所述虚拟地址到物理地址的映射关系后加载到转换旁视缓冲器表项中。
其中,所述巨页映射表生成单元生成的巨页映射表的表项中包括:物理地址、虚拟地址、页属性和巨页大小信息。
进一步地,所述巨页映射表生成单元具体包括:
表创建子单元,用于为所述各***进程创建巨页映射表,并根据用户需求配置巨页映射表的表项数和巨页大小;
虚拟内存申请子单元,用于对于所述各***进程,为需要映射的合法的物理空间区域申请匹配的未使用的虚拟空间区域;
映射子单元,用于按照所述物理空间区域和虚拟空间区域的对应关系,得到由虚拟地址到物理地址的映射关系,生成所述巨页映射表的表项。
其中,所述虚拟内存申请子单元中:
所述合法的物理空间区域是指:所述物理空间区域的起始地址以及物理空间区域的长度与配置的巨页大小符合对齐要求。
与现有技术相比,本发明有益效果如下:
本发明所述方法和装置通过将某段内存进行巨页映射,大大减少对TLB数目的需求,使得在一般CPU的内存管理单元中自带的TLB能够映射很大的内存空间,让业务处理进程在运行过程中,短时间内达到一个稳态之后不再产生TLBMISS异常,从而大大提高性能,这样即可以使用操作***提供的强大功能,又可以提高***性能,使之达到大流量通讯处理能力;
另外,本发明所述巨页映射功能和操作***内存映射、解映射处理流程无缝集成,应用上简单方便;并且可以在映射时指定巨页大小,可扩展性很强。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的利用巨页映射降低CPU资源消耗的方法流程图;
图2为本发明实施例中巨页映射流程图;
图3为本发明实施例中巨页映射表的结构图;
图4为本发明实施例中巨页映射功能的实现流程图;
图5为本发明实施例中解映射流程图;
图6为本发明提供的利用巨页映射降低CPU资源消耗的装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了方便的在LINUX操作***中减少TLB处理时间,同时又不影响操作***提供的强大功能,本发明提供一种利用巨页映射降低CPU资源消耗的方法和装置。
如图1所示,本发明提供的一种利用巨页映射降低CPU资源消耗的方法,具体包括:
步骤S101、为各***进程生成记录有由虚拟地址到物理地址映射关系的巨页映射表;其中,所述巨页映射表的表项中包括:物理地址、虚拟地址、页属性和巨页大小信息。
步骤S102、在***进程访问某虚拟地址时,若发生缺页流程,则查找所述巨页映射表,获取所述虚拟地址到物理地址的映射关系后加载到转换旁视缓冲器表项中。
该步骤中,所述***进程访问某虚拟地址时发生缺页流程是指:
所述***进程访问某虚拟地址时,若在***CPU核心中的TLB表项和当前***进程页表中均未查找到所述虚拟地址到物理地址的映射关系,则发生缺页流程。
进一步地,该步骤中,当在所述巨页映射表中未查找到所述虚拟地址到物理地址的映射关系,执行缺页处理流程。
本发明所述方法通过将某段内存进行巨页映射,大大减少对TLB数目的需求,使得在一般CPU的内存管理单元中自带的TLB能够映射很大的内存空间,让业务处理进程在运行过程中,短时间内达到一个稳态之后不再产生TLB MISS异常,从而大大提高性能。
为了更清楚的说明本发明的具体实现过程,下面根据图2~图5给出本发明一个较佳的实施例,并结合对实施例的描述,进一步给出本发明的技术细节。
本发明实施例所述方法的核心思想在于,首先创建巨页映射表,并进行巨页映射,得到***进程由虚拟地址到物理地址的巨页映射表项;然后,在发生缺页流程时,先查找巨页映射表,如果存在搜索的映射关系,将该映射关系加载到TLB表项中,***进程返回用户态继续执行,否则执行缺页处理流程。
下面就分别从巨页映射表的生成过程和巨页映射功能的实现过程两方面进行详细阐述,具体的:
一、生成巨页映射表,具体包括:
步骤1、在进行巨页映射前,首先检查是否为当前***进程创建了巨页映射表,若未创建,则为当前***进程创建巨页映射表,执行步骤2;否则,直接执行步骤2;
其中,创建的巨页映射表的表项数和巨页大小均可以根据用户需求进行灵活配置,并且可以通过内核menuconfig改配,以适应不同应用的需要;
创建的巨页映射表被记录在***进程内存描述体(struct mm_struct)中。
步骤2、进行巨页映射:为各***进程生成由虚拟地址到物理地址的映射关系,并将该映射关系作为巨页映射表的表项存储。
如图2所示,该步骤所述的巨页映射过程具体为:
步骤S201、对需要映射的物理空间区域进行合法性验证;
其中,合法性验证是指检查需要映射的物理空间区域的起始地址和物理空间区域地长度是否与配置的巨页大小符合对齐要求,即,物理空间区域的起始地址和物理空间区域的长度必须为配置的巨页大小的整数倍。
步骤S202、调用hugetlb_get_unmapped_area内核接口函数为当前***进程查找到一段与合法物理空间区域同样大小的且未被使用的虚拟空间区域;
其中,所述的虚拟空间区域可以是执行的区域也可以是随机查找的区域;且得到的所述虚拟空间区域的基址应为巨页大小的整数倍。
步骤S203、基于查找到的虚拟空间区域,调用内核do_mmap函数,为当前***进程创建VMA虚拟空间区域(即,将查找到的虚拟空间区域转变为***进程合法的虚拟空间区域)。
需要说明的是,在VMA虚拟空间区域创建之后,后续巨页映射处理流程中并不会使用它,只是利用它来保护巨页映射空间,防止这段空间被其它映射(例如,IO/MEM映射、匿名映射等)所占用。
在得到需要映射的物理空间区域和虚拟空间区域后,优选地,首先计算映射上述物理地址空间和虚拟地址空间所需要占用的表项;然后判断巨页映射表中是否有足够的未被占用的表项供映射使用,若是,执行步骤S204;否则,返回映射失败信息。当然,在具体实现时也可以不进行该计算检查过程,若不进行预先计算和检查会在生成映射表项时出错,进而返回映射失败信息。
步骤S204、按照所述物理空间区域和虚拟空间区域的对应关系,得到由虚拟地址到物理地址的映射关系,在所述巨页映射表中生成本次映射表项。
值得注意的是,在巨页映射表被创建后,对于各***进程可以进行多次巨页映射,每次巨页映射得到的物理地址到虚拟地址的映射关系作为巨页映射表的表项存储。
如图3所示,为本发明实施例得到的巨页映射表的结构图;每一合法项都能够反映进程空间中巨页映射区域到物理内存的关系。表项中主要包含如下信息:物理地址、虚拟地址、页属性(可读/可写/可执行/可缓冲,Readable/Writable/Exectable/Cachable等)、巨页大小信息。
本发明实施例所述巨页映射表,完全兼容Linux内存管理要求;更重要的是,巨页映射功能可以支持用户使用指定的巨页大小来进行映射,前提是当前CPU支持该页面大小;这个和其他巨页文件***一个显著的区别。可以指定使用何种大小的页面进行映射的好处是,能够尽可能的适配用户的需求;对于大块的内存映射,可以用大的页面进行映射,减少巨页映射项,提高性能;对于小块的内存,可以用小页面进行映射,同样可以使用巨页映射;这样可以避免为了使用巨页,而必须浪费内存以适应巨页大小的情况。
二、巨页映射功能的实现过程,如图4所示,包括:
步骤S401、用户态***进程访问某个虚拟地址A;
步骤S402、判断在当前运行CPU核心中TLB表项是否存在虚拟地址A到物理地址的映射,若是,继续执行后续操作;否则,产生一个TLB MISS异常,转步骤S403;
步骤S403、在Linux内核的TLB MISS异常处理服务程序中,根据虚拟地址A查找当前进程页表,判断是否存在虚拟地址A到物理地址的映射,若是,执行步骤S404;否则,执行步骤S405;
步骤S404、取出虚拟地址A到物理地址的映射页表,加载到TLB表项中,返回到用户态继续往下执行;
步骤S405、进入缺页处理流程,搜索巨页映射表,判断巨页映射表中是否存在虚拟地址A到物理地址的映射,若是,执行步骤S406;否则,执行步骤S407;
其中,在搜索巨页映射表前,优选地检查虚拟地址A是否为当前进程的合法地址,如分别判断是否为匿名映射、是否为写时复制上下文等处理,当不合法,直接返回异常信号给进程。
步骤S406、采用TLB替换算法将虚拟地址A的巨页映射表项加载到CPU核心TLB表项中,再返回到用户态继续往下执行。
其中,TLB替换算法由CPU决定,有些是实现伪随机替换,有些是通过最近最少使用算法LRU。
步骤S407、执行Linux内核标准的缺页流程。
综上所述,可见本发明实施例所述的巨页映射功能实现过程中,在缺页流程中,增加一个新的处理分支,即巨页处理分支:do_hugetlb_fault,在这个处理流程中,检查该虚拟地址A是否处于巨页映射表中。这样,巨页处理流程可以做到和内核标准缺页流程无缝结合,提高该巨页功能的可移植性、可扩展性、可维护性,这相对于现有的巨页文件***,是一个非常大的改进。
进一步地,本发明实施例所述方法在实现巨页映射功能之后,还可以根据具体需求进行解映射操作。该解映射操作为映射创建的逆过程,操作过程较少,主要是:使用do_munmap解映射进程虚拟巨页区域,释放当前进程下虚拟空间区域,再在巨页映射表中将该段虚拟空间区域所使用巨页表项释放。
如图5所示,为解映射操作的具体实现流程,包括:
步骤S501、根据指令获取需解映射的虚拟空间区域;
步骤S502、对所述虚拟空间区域进行合法性检测,若合法,执行步骤S503;否则,执行步骤S505;
其中,合法性检测是指检测所述虚拟空间区域的基址的长度是否与巨页大小对齐。
步骤S503、释放当前进程下所述虚拟空间区域;
步骤S504、释放所述虚拟空间区域所占用的巨页映射表项;
步骤S505、操作结束。
综上所述,可见本发明实施例提供的方法,能够带来以下有益效果:
(1)对于业务内存可以使用巨页映射方式使用,大大减少对TLB数目的需求,使得在一般CPU的MMU(Memory Management Unit,内存管理单元)中自带的TLB能够映射很大的内存空间;在实际使用过程当中,采用巨页映射功能可以让业务处理进程在运行过程中,短时间内达到一个稳态之后不再产生TLB MISS;所有需要访问内存的映射都能够在CPU的MMU/TLB中驻留,从而可以在非实时操作***中大大提升处理性能,具有非常大的实用价值。
(2)本发明所述的巨页映射功能和Linux操作***内存映射、解映射处理流程无缝集成,应用上简单方便;可以在映射时指定巨页大小,可扩展性很强。
并且本发明所述的巨页映射和巨页文件***也存在很大的区别,主要表现在:1)在用户界面上,采用Linux标准的映射流程,用户感知不到普通映射和巨页映射有何不同;2)本发明支持指定巨页大小进行映射,具有很强的可扩展性,而巨页文件***则不能;3)本发明使用上步骤简单灵活方便,而不像巨页文件***经过多步才能使用巨页映射内存。
如图6所示,本发明还提供一种利用巨页映射降低CPU资源消耗的装置,包括:
巨页映射表生成单元,用于为各***进程生成记录有由虚拟地址到物理地址映射关系的巨页映射表;
巨页映射执行单元,用于在***进程访问某虚拟地址且发生缺页流程时,查找所述巨页映射表,获取所述虚拟地址到物理地址的映射关系后加载到转换旁视缓冲器表项中。
其中,所述巨页映射表生成单元生成的巨页映射表的表项中包括:物理地址、虚拟地址、页属性和巨页大小信息。
本发明所述装置中,所述巨页映射表生成单元具体包括:
表创建子单元,用于为所述各***进程创建巨页映射表,并根据用户需求配置巨页映射表的表项数和巨页大小;
虚拟内存申请子单元,用于对于所述各***进程,为需要映射的合法的物理空间区域申请匹配的未使用的虚拟空间区域;
映射子单元,用于按照所述物理空间区域和虚拟空间区域的对应关系,得到由虚拟地址到物理地址的映射关系,生成所述巨页映射表的表项。
其中,所述虚拟内存申请子单元中所述合法的物理空间区域是指:所述物理空间区域的起始地址以及物理空间区域的长度与配置的巨页大小符合对齐要求。
进一步地,本发明所述装置还包括:解映射单元;
所述解映射单元,用于根据指令释放指定的虚拟空间区域以及该虚拟空间区域占用的巨页映射表的表项,完成解映射操作。
本发明所述装置通过将某段内存进行巨页映射,大大减少对TLB数目的需求,使得在一般CPU的内存管理单元中自带的TLB能够映射很大的内存空间,让业务处理进程在运行过程中,短时间内达到一个稳态之后不再产生TLB MISS异常,从而大大提高性能。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种利用巨页映射降低CPU资源消耗的方法,其特征在于,包括:
为各***进程生成记录有虚拟地址到物理地址映射关系的巨页映射表;
在***进程访问某虚拟地址时,若发生缺页流程,则查找所述巨页映射表,获取所述虚拟地址到物理地址的映射关系后加载到转换旁视缓冲器表项中。
2.如权利要求1所述的方法,其特征在于,所述巨页映射表的表项中包括:物理地址、虚拟地址、页属性和巨页大小信息。
3.如权利要求1或2所述的方法,其特征在于,所述为各***进程生成记录有虚拟地址到物理地址映射关系的巨页映射表,包括:
为所述各***进程创建巨页映射表,并根据用户需求配置巨页映射表的表项数和巨页大小;
对于所述各***进程,为需要映射的合法的物理空间区域申请匹配的未使用的虚拟空间区域;
按照所述物理空间区域和虚拟空间区域的对应关系,得到由虚拟地址到物理地址的映射关系,生成所述巨页映射表的表项。
4.如权利要求3所述的方法,其特征在于,所述按照物理空间区域和虚拟空间区域的对应关系,得到由虚拟地址到物理地址的映射关系,生成所述巨页映射表的表项,包括:
计算完成由所述虚拟空间区域到物理空间区域映射所需占用巨页映射表的表项数,并检查所述巨页映射表中是否有足够的表项数,若是,按照所述物理空间区域和虚拟空间区域的对应关系,得到由虚拟地址到物理地址的映射关系,生成所述巨页映射表的表项;否则,返回映射失败消息。
5.如权利要求3所述的方法,其特征在于,
所述合法的物理空间区域是指:所述物理空间区域的起始地址以及物理空间区域的长度与配置的巨页大小符合对齐要求。
6.如权利要求3所述的方法,其特征在于,所述方法还包括:
根据指令,释放指定的虚拟空间区域和该虚拟空间区域占用的巨页映射表的表项,完成解映射。
7.一种利用巨页映射降低CPU资源消耗的装置,其特征在于,包括:
巨页映射表生成单元,用于为各***进程生成记录有虚拟地址到物理地址映射关系的巨页映射表;
巨页映射执行单元,用于在***进程访问某虚拟地址且发生缺页流程时,查找所述巨页映射表,获取所述虚拟地址到物理地址的映射关系后加载到转换旁视缓冲器表项中。
8.如权利要求7所述的装置,其特征在于,所述巨页映射表生成单元生成的巨页映射表的表项中包括:物理地址、虚拟地址、页属性和巨页大小信息。
9.如权利要求7或8所述的装置,其特征在于,所述巨页映射表生成单元具体包括:
表创建子单元,用于为所述各***进程创建巨页映射表,并根据用户需求配置巨页映射表的表项数和巨页大小;
虚拟内存申请子单元,用于对于所述各***进程,为需要映射的合法的物理空间区域申请匹配的未使用的虚拟空间区域;
映射子单元,用于按照所述物理空间区域和虚拟空间区域的对应关系,得到由虚拟地址到物理地址的映射关系,生成所述巨页映射表的表项。
10.如权利要求9所述的装置,其特征在于:
所述合法的物理空间区域是指:所述物理空间区域的起始地址以及物理空间区域的长度与配置的巨页大小符合对齐要求。
CN201110097693.7A 2011-04-19 2011-04-19 一种利用巨页映射降低cpu资源消耗的方法和装置 Active CN102184142B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201110097693.7A CN102184142B (zh) 2011-04-19 2011-04-19 一种利用巨页映射降低cpu资源消耗的方法和装置
PCT/CN2012/072481 WO2012142894A1 (zh) 2011-04-19 2012-03-16 一种利用巨页映射降低cpu资源消耗的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110097693.7A CN102184142B (zh) 2011-04-19 2011-04-19 一种利用巨页映射降低cpu资源消耗的方法和装置

Publications (2)

Publication Number Publication Date
CN102184142A true CN102184142A (zh) 2011-09-14
CN102184142B CN102184142B (zh) 2015-08-12

Family

ID=44570322

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110097693.7A Active CN102184142B (zh) 2011-04-19 2011-04-19 一种利用巨页映射降低cpu资源消耗的方法和装置

Country Status (2)

Country Link
CN (1) CN102184142B (zh)
WO (1) WO2012142894A1 (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662864A (zh) * 2012-03-29 2012-09-12 华为技术有限公司 一种缺页异常的处理方法、装置及***
WO2012142894A1 (zh) * 2011-04-19 2012-10-26 中兴通讯股份有限公司 一种利用巨页映射降低cpu资源消耗的方法和装置
CN102929722A (zh) * 2012-10-18 2013-02-13 曙光信息产业(北京)有限公司 一种基于大页面万兆网卡的收包及其***
CN103793331A (zh) * 2012-10-31 2014-05-14 安凯(广州)微电子技术有限公司 一种物理内存管理方法及装置
WO2015043445A1 (zh) * 2013-09-30 2015-04-02 华为技术有限公司 一种虚拟大页面与物理大页面的对应方法及装置
WO2018036486A1 (zh) * 2016-08-23 2018-03-01 华为技术有限公司 页表缓存的访问方法、页表缓存、处理器芯片和存储单元
CN107851067A (zh) * 2015-08-14 2018-03-27 高通股份有限公司 存储器间隙的有效利用
US9984003B2 (en) 2014-03-06 2018-05-29 Huawei Technologies Co., Ltd. Mapping processing method for a cache address in a processor to provide a color bit in a huge page technology
CN110321079A (zh) * 2019-06-27 2019-10-11 暨南大学 一种基于混合页面的磁盘缓存去重方法
CN111666230A (zh) * 2020-05-27 2020-09-15 江苏华创微***有限公司 在组相联tlb中支持巨页的方法
CN111913893A (zh) * 2020-06-22 2020-11-10 成都菁蓉联创科技有限公司 保留内存的映射方法和装置、设备和存储介质
CN112612623A (zh) * 2020-12-25 2021-04-06 苏州浪潮智能科技有限公司 一种共享内存管理的方法和设备
CN113360243A (zh) * 2021-03-17 2021-09-07 龙芯中科技术股份有限公司 设备处理方法、装置、电子设备及可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050038973A1 (en) * 2003-08-13 2005-02-17 Masayuki Ito Data processor and IP module for data processor
US20070234002A1 (en) * 2006-04-04 2007-10-04 Litke Adam G Method and apparatus for temporary mapping of executable program segments
CN101246452A (zh) * 2007-02-12 2008-08-20 国际商业机器公司 执行快速的mmu模拟的方法和装置、以及全***模拟器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184142B (zh) * 2011-04-19 2015-08-12 中兴通讯股份有限公司 一种利用巨页映射降低cpu资源消耗的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050038973A1 (en) * 2003-08-13 2005-02-17 Masayuki Ito Data processor and IP module for data processor
US20070234002A1 (en) * 2006-04-04 2007-10-04 Litke Adam G Method and apparatus for temporary mapping of executable program segments
CN101246452A (zh) * 2007-02-12 2008-08-20 国际商业机器公司 执行快速的mmu模拟的方法和装置、以及全***模拟器

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012142894A1 (zh) * 2011-04-19 2012-10-26 中兴通讯股份有限公司 一种利用巨页映射降低cpu资源消耗的方法和装置
CN102662864A (zh) * 2012-03-29 2012-09-12 华为技术有限公司 一种缺页异常的处理方法、装置及***
CN102662864B (zh) * 2012-03-29 2015-07-08 华为技术有限公司 一种缺页异常的处理方法、装置及***
CN102929722A (zh) * 2012-10-18 2013-02-13 曙光信息产业(北京)有限公司 一种基于大页面万兆网卡的收包及其***
CN103793331A (zh) * 2012-10-31 2014-05-14 安凯(广州)微电子技术有限公司 一种物理内存管理方法及装置
CN103793331B (zh) * 2012-10-31 2016-12-21 安凯(广州)微电子技术有限公司 一种物理内存管理方法及装置
WO2015043445A1 (zh) * 2013-09-30 2015-04-02 华为技术有限公司 一种虚拟大页面与物理大页面的对应方法及装置
CN104516826A (zh) * 2013-09-30 2015-04-15 华为技术有限公司 一种虚拟大页面与物理大页面的对应方法及装置
CN104516826B (zh) * 2013-09-30 2017-11-17 华为技术有限公司 一种虚拟大页面与物理大页面的对应方法及装置
US9984003B2 (en) 2014-03-06 2018-05-29 Huawei Technologies Co., Ltd. Mapping processing method for a cache address in a processor to provide a color bit in a huge page technology
CN107851067A (zh) * 2015-08-14 2018-03-27 高通股份有限公司 存储器间隙的有效利用
WO2018036486A1 (zh) * 2016-08-23 2018-03-01 华为技术有限公司 页表缓存的访问方法、页表缓存、处理器芯片和存储单元
CN107766259A (zh) * 2016-08-23 2018-03-06 华为技术有限公司 页表缓存的访问方法、页表缓存、处理器芯片和存储单元
CN107766259B (zh) * 2016-08-23 2021-08-20 华为技术有限公司 页表缓存的访问方法、页表缓存、处理器芯片和存储单元
CN110321079A (zh) * 2019-06-27 2019-10-11 暨南大学 一种基于混合页面的磁盘缓存去重方法
CN111666230B (zh) * 2020-05-27 2023-08-01 江苏华创微***有限公司 在组相联tlb中支持巨页的方法
CN111666230A (zh) * 2020-05-27 2020-09-15 江苏华创微***有限公司 在组相联tlb中支持巨页的方法
CN111913893A (zh) * 2020-06-22 2020-11-10 成都菁蓉联创科技有限公司 保留内存的映射方法和装置、设备和存储介质
CN112612623A (zh) * 2020-12-25 2021-04-06 苏州浪潮智能科技有限公司 一种共享内存管理的方法和设备
WO2022134723A1 (zh) * 2020-12-25 2022-06-30 苏州浪潮智能科技有限公司 一种共享内存管理的方法和设备
CN112612623B (zh) * 2020-12-25 2022-08-09 苏州浪潮智能科技有限公司 一种共享内存管理的方法和设备
US11989588B2 (en) 2020-12-25 2024-05-21 Inspur Suzhou Intelligent Technology Co., Ltd. Shared memory management method and device
CN113360243B (zh) * 2021-03-17 2023-07-14 龙芯中科技术股份有限公司 设备处理方法、装置、电子设备及可读介质
CN113360243A (zh) * 2021-03-17 2021-09-07 龙芯中科技术股份有限公司 设备处理方法、装置、电子设备及可读介质

Also Published As

Publication number Publication date
WO2012142894A1 (zh) 2012-10-26
CN102184142B (zh) 2015-08-12

Similar Documents

Publication Publication Date Title
CN102184142A (zh) 一种利用巨页映射降低cpu资源消耗的方法和装置
EP3575970B1 (en) Process-based multi-key total memory encryption
US9152572B2 (en) Translation lookaside buffer for multiple context compute engine
US10416890B2 (en) Application execution enclave memory page cache management method and apparatus
US8190914B2 (en) Method and system for designating and handling confidential memory allocations
US20150106545A1 (en) Computer Processor Employing Cache Memory Storing Backless Cache Lines
EP2889777A2 (en) Modifying memory permissions in a secure processing environment
CN111316248B (zh) 促进对存储器局部域信息的访问
US10255069B2 (en) Cleared memory indicator
US20100106930A1 (en) Opportunistic page largification
CN107209715A (zh) 文件数据访问方法和计算机***
US20120173841A1 (en) Explicitly Regioned Memory Organization in a Network Element
CN104636203A (zh) 用于通过较少位来表示处理器上下文的方法和装置
EP3158492A1 (en) Employing intermediary structures for facilitating access to secure memory
CN105027095A (zh) 用于降低执行硬件表移动需要的时间和计算资源的量的方法和***
EP3163451B1 (en) Memory management method and device, and memory controller
US9921875B2 (en) Zero copy memory reclaim for applications using memory offlining
US9772776B2 (en) Per-memory group swap device
GB2523605A (en) Address translation in a data processing apparatus
US20080065855A1 (en) DMAC Address Translation Miss Handling Mechanism
US20190196836A1 (en) Selective suppression of instruction translation lookaside buffer (itlb) access
US20190163381A1 (en) Asynchronous copying of data within memory
KR20120070326A (ko) 메모리 가상화 장치 및 방법
US20090031100A1 (en) Memory reallocation in a computing environment
US20150186240A1 (en) Extensible i/o activity logs

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant