CPC G06F 12/1027 (2013.01) [G06F 2212/651 (2013.01); G06F 2212/681 (2013.01); G06F 2212/683 (2013.01)] | 8 Claims |
8. A method of dynamically resizing an allocation of a target in-memory TLB, comprising:
executing, in a central processing unit (CPU) in a processor comprising one or more CPUs, computer software instructions in an operating system software program or process;
storing, by a memory management system in the CPU, a physical address (PA), associated with a virtual address (VA), in one of a plurality of page table entries in one of a plurality of level page tables in a page table in a system memory, the page table entries each addressable by a different level index of the VA;
storing, in a memory management unit (MMU) translation lookaside buffer (TLB) entry of a plurality of MMU TLB entries, a cached page table entry of the plurality of page table entries;
storing, in an in-memory TLB entry of a plurality of in-memory TLB entries in an in-memory TLB in the system memory, a cached page table entry of the plurality of page table entries; accessing, by a page table walker circuit, a page table entry in the plurality of level page tables in the page table based on the VA;
storing, in each of a plurality of in-memory TLB address registers wherein each of the plurality of in-memory TLB address registers corresponds to a respective process of the one or more CPUs, a memory address pointing to a respective in-memory TLB, in the system memory, allocated to the respective process; and
dynamically resizing, in a CPU among the one or more CPUs, an allocation of a target in-memory TLB, in the system memory, comprising:
erasing the memory address, pointing to the target in-memory TLB, in one or more of the plurality of in-memory TLB address registers corresponding to the target in-memory TLB to be resized; and
issuing a cross call command to other CPUs among the one or more CPUs to cause the other CPUs to erase the memory address, pointing to the target in-memory TLB, in one or more of the plurality of in-memory TLB address registers corresponding to the target in-memory TLB to be resized.
|