Exit-less host page table switching and virtual machine function detection
US-2020167086-A1 · May 28, 2020 · US
US11550728B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11550728-B2 |
| Application number | US-201916586183-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 27, 2019 |
| Priority date | Sep 27, 2019 |
| Publication date | Jan 10, 2023 |
| Grant date | Jan 10, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A processing system includes a processor, a memory, and an operating system that are used to allocate a page table caching memory object (PTCM) for a user of the processing system. An allocation of the PTCM is requested from a PTCM allocation system. In order to allocate the PTCM, a plurality of physical memory pages from a memory are allocated to store a PTCM page table that is associated with the PTCM. A lockable region of a cache is designated to hold a copy of the PTCM page table, after which the lockable region of the cache is subsequently locked. The PTCM page table is populated with page table entries associated with the PTCM and copied to the locked region of the cache.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: receiving a request for allocation of at least one page table caching memory (PTCM) object at a PTCM allocation system; allocating, using the PTCM allocation system, a plurality of physical memory pages from a memory to store at least one PTCM page table associated with the at least one PTCM object; designating, at the PTCM allocation system, at least one lockable region of a cache to hold a copy of the at least one PTCM page table; locking, using the PTCM allocation system, the at least one lockable region of the cache by using a lock enable command; populating, using the PTCM allocation system, the at least one PTCM page table by transferring a plurality of page table entries associated with the at least one PTCM object to the at least one PTCM page table; and copying, using the PTCM allocation system and to the locked at least one lockable region of the cache, the at least one PTCM page table being populated by providing a duplicate of the at least one PTCM page table being populated to the locked at least one lockable region of the cache. 2. The method of claim 1 , wherein: the at least one PTCM object includes at least one additional PTCM object of a plurality of PTCM objects. 3. The method of claim 1 , wherein: the at least one lockable region includes at least one second, additional lockable region of a plurality of lockable regions. 4. The method of claim 1 , wherein: populating the at least one PTCM page table and copying the at least one PTCM page table occur simultaneously. 5. The method of claim 1 , wherein: allocating the plurality of physical memory pages to store the at least one PTCM page table is initiated by a system call or a kernel boot parameter. 6. The method of claim 1 , wherein: the at least one PTCM page table is restored to the cache that has been invalidated by a system management function. 7. The method of claim 1 , further comprising: receiving, at the PTCM allocation system, a request for deallocation of the at least one PTCM object; unlocking, using the PTCM allocation system, the locked at least one lockable region of the cache by using a lock disable command; and returning the at least one PTCM object and the at least one PTCM page table to a free store of the physical memory pages. 8. The method of claim 1 , wherein: the at least one PTCM object is a guest PTCM object associated with a virtual machine. 9. The method of claim 8 , wherein: the at least one PTCM page table is associated with the guest PTCM object of the virtual machine, at least one PTCM page table being augmented by at least one of a PTCM shadow page table or a PTCM nested page table. 10. A processing system, comprising: a processor configured to be coupled to a memory, wherein the processing system is configured to: receive a request for allocation of at least one page table caching memory (PTCM) object at a PTCM allocation system; allocate, using the PTCM allocation system, a plurality of physical memory pages from the memory to store at least one PTCM page table associated with the at least one PTCM object; designate, at the PTCM allocation system, at least one lockable region of a cache to hold a copy of the at least one PTCM page table; lock, using the PTCM allocation system, the at least one lockable region of the cache by using a lock enable command; populate, using the PTCM allocation system, the at least one PTCM page table by transferring a plurality of page table entries associated with the at least one PTCM object to the at least one PTCM page table; and copy, using the PTCM allocation system and to the locked at least one lockable region of the cache, the at least one PTCM page table being populated by providing a duplicate of the at least one PTCM page table being populated to the locked at least one lockable region of the cache. 11. The processing system of claim 10 , wherein: the at least one PTCM object includes at least one additional PTCM object of a plurality of PTCM objects. 12. The processing system of claim 10 , wherein: the at least one lockable region includes at least one second, additional lockable region of a plurality of lockable regions. 13. The processing system of claim 10 , wherein: the PTCM allocation system is configured to populate the at least one PTCM page table and copy the at least one PTCM page table simultaneously. 14. The processing system of claim 10 , wherein: the PTCM allocation system is configured to allocate the plurality of physical memory pages to store the at least one PTCM page tables such that the allocation is initiated by a system call or a kernel boot parameter. 15. The processing system of claim 10 , wherein: the at least one PTCM page table is restored to the cache that has been invalidated by a system management function. 16. The processing system of claim 10 , the processing system further is configured to: request deallocation of the at least one PTCM object; unlock the locked at least one lockable region of the cache; and return the at least one PTCM object and the at least one PTCM page table to free store of the physical memory pages. 17. The processing system of claim 10 , wherein: the at least one PTCM object is at least one guest PTCM object associated with a virtual machine, the at least one PTCM page table being associated with the at least one guest PTCM object of the virtual machine and augmented by at least one of a PTCM shadow page table or a PTCM nested page table. 18. A non-transitory machine-readable medium having stored thereon machine-readable instructions executable to cause a machine to perform operations, comprising: receiving a request for allocation of at least one page table caching memory (PTCM) object at a PTCM allocation system; allocating, using the PTCM allocation system, a plurality of physical memory pages from a memory to store at least one PTCM page table associated with the at least one PTCM object; designating, using the PTCM allocation system, at least one lockable region of a cache to hold a copy of the at least one PTCM page table; locking, using the PTCM allocation system, the at least one lockable region of the cache using a lock enable command; populating, using the PTCM allocation system, the at least one PTCM page table with a plurality of page table entries associated with the at least one PTCM object; and copying, using the PTCM allocation system and to the locked at least one lockable region of the cache, the at least one PTCM page table being populated by providing a duplicate of the at least one PTCM page table being populated to the locked at least one lockable region of the cache. 19. The non-transitory machine-readable medium of claim 18 , wherein: populating the at least one PTCM page table and copying the at least one PTCM page table occur simultaneously. 20. The non-transitory machine-readable medium of claim 18 , further comprising: receiving a request for deallocation of the at least one PTCM object at the PTCM allocation system; unlocking, using the PTCM allocation system, the locked at least one lockable region of the cache using a lock disable command; and returning the at least one PTCM object and the at least one PTCM page table to free store of the physical memory pages.
of parts of caches, e.g. directory or tag array · CPC title
in a virtual system, e.g. with translation means · CPC title
Memory management, e.g. access or allocation · CPC title
where tasks reside in different layers, e.g. user- and kernel-space · CPC title
using clearing, invalidating or resetting means · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.