Migrating memory pages between non-uniform memory access (NUMA) nodes based on entries in a page modification log
AssigneeRed Hat, Inc.
InventorMichael Tsirkin
Life of this patent
Estimating the term…
Abstract
Memory pages can be migrated between non-uniform memory access (NUMA) nodes based on entries in a page modification log according to some examples described herein. In one example, a physical processor can detect a request from a virtual machine to access a memory page. The physical processor can then update a page modification log to include an entry indicating the request. A hypervisor supporting the virtual machine can be configured to detect the request based on the entry in the page modification log and, in response to detecting the request, migrate the memory page from a second NUMA node to a destination NUMA node.
Claims20
A non-transitory computer-readable medium comprising program code that is executable by a physical processor of a first non-uniform memory access (NUMA) node for causing the physical processor to:
- detect a request from a virtual machine to access a memory page, wherein the virtual machine is supported by a hypervisor of the first NUMA node, and wherein the request is detected by the physical processor rather than the hypervisor;
- and
- in response to detecting the request, update a page modification log to include an entry indicating the request, wherein the hypervisor supporting the virtual machine is configured to:
- monitor the page modification log over time to detect a change to the page modification log, wherein the change corresponds to the entry;
- and
- based on detecting the change in the page modification log:
- access the entry in the page modification log to indirectly detect the request;
- and
- migrate the memory page from a second NUMA node to a destination NUMA node, the second NUMA node being separate from the first NUMA node.
A method comprising:
- detecting, by a physical processor of a first non-uniform memory access (NUMA) node, a request from a virtual machine to access a memory page, wherein the virtual machine is supported by a hypervisor of the first NUMA node, and wherein the request is detected by the physical processor rather than the hypervisor;
- and
- in response to detecting the request, updating, by the physical processor, a page modification log to include an entry indicating the request, wherein the hypervisor supporting the virtual machine is configured to:
- monitor the page modification log over time to detect a change to the page modification log, wherein the change corresponds to the entry;
- and
- based on detecting the change in the page modification log:
- access the entry in the page modification log to indirectly detect the request;
- and
- migrate the memory page from a second NUMA node to a destination NUMA node, the second NUMA node being separate from the first NUMA node.
A system comprising:
- a physical processor of a first NUMA node;
- and
- a physical memory of the first NUMA node, the physical memory including instructions that are executable by the physical processor for causing the physical processor to:
- detect a request from a virtual machine to access a memory page, wherein the virtual machine is supported by a hypervisor of the first NUMA node, and wherein the request is detected by the physical processor rather than the hypervisor;
- and
- in response to detecting the request, update a page modification log to include an entry indicating the request, wherein the hypervisor supporting the virtual machine is configured to:
- monitor the page modification log over time to detect a change to the page modification log, wherein the change corresponds to the entry;
- and
- based on detecting the change in the page modification log:
- access the entry in the page modification log to indirectly detect the request;
- and
- migrate the memory page from a second NUMA node to a destination NUMA node, the second NUMA node being separate from the first NUMA node.
Dependencies are inferred from the claim text.