Direct memory control operations on memory data structures
AssigneeRed Hat, Inc.
InventorUlrich Drepper
Life of this patent
Estimating the term…
Abstract
Systems and methods for direct memory control operations on memory data structures. In one implementation, a processing device receives, from a component of an application runtime environment, a request to perform a memory access operation on a portion of a memory space; determines a data structure address for a portion of a memory data structure, wherein the portion of the data structure is associated with the portion of the memory space; and performs, in view of the data structure address, the memory access operation directly on the portion of the memory data structure.
Claims18
A method comprising:
- receiving, by a processing device, from a component of an application runtime environment, a first request to perform a memory access operation on a portion of a memory space;
- sending, to a data structure controller component of an operating system, via an interface configured to access the data structure controller component directly, a second request for a node address of a node of a page table tree, wherein each node of the page table tree is associated with a corresponding at least one memory page of the memory space, wherein the node of the page table tree is associated with the portion of the memory space, wherein the second request comprises a virtual memory address associated with the portion of the memory space;
- receiving, from the data structure controller component, the node address of the node of the page table tree;
- and
- performing, in view of the node address, the memory access operation directly on the node of the page table tree, wherein the memory access operation is at least one of multiple memory access operations, and wherein the multiple memory access operations comprise a garbage collection operation, a memory relocation operation, a memory allocation operation, a memory protect operation, and a memory unprotect operation,
- wherein the application runtime environment is a component of a unikernel.
A system comprising:
- a memory;
- and
- a processing device operatively coupled to the memory, the processing device to:
- receive, from a component of an application runtime environment, a first request to perform a memory access operation on a portion of a memory space;
- send, to a data structure controller component of an operating system, via an interface configured to access the data structure controller component directly, a second request for a node address of a node of a page table tree, wherein each node of the page table tree is associated with a corresponding at least one memory page of the memory space, wherein the node of the page table tree is associated with the portion of the memory space, wherein the second request comprises a virtual memory address associated with the portion of the memory space;
- receive, from the data structure controller component, the node address of the node of the page table tree;
- and
- perform, in view of the node address, the memory access operation directly on the node of the page table tree,
- wherein the memory access operation is at least one of multiple memory access operations, and wherein the multiple memory access operations comprise a garbage collection operation, a memory relocation operation, a memory allocation operation, a memory protect operation, and a memory unprotect operation.
A non-transitory computer-readable media storing instructions that, when executed, cause a processing device to:
- receive, from a component of an application runtime environment, a first request to perform a memory access operation on a portion of a memory space;
- send, to a data structure controller component of an operating system, via an interface configured to access the data structure controller component directly, a second request for a node address of a node of a page table tree, wherein each node of the page table tree is associated with a corresponding at least one memory page of the memory space, wherein the node of the page table tree is associated with the portion of the memory space, wherein the second request comprises a virtual memory address associated with the portion of the memory space;
- receive, from the data structure controller component, the node address of the node of the page table tree;
- and
- perform, in view of the node address, the memory access operation directly on the node of the page table tree, wherein the memory access operation is at least one of multiple memory access operations, and wherein the multiple memory access operations comprise a garbage collection operation, a memory relocation operation, a memory allocation operation, a memory protect operation, and a memory unprotect operation,
- wherein the application runtime environment is a component of a unikernel.
Dependencies are inferred from the claim text.