Patents by Inventor Henri van Riel
Henri van Riel has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10069626Abstract: A method includes, with a computing system, exiting a context of a virtual machine, the exiting in response to a request from a guest operating system of the virtual machine to switch from a first encryption key identifier for the virtual machine to a second encryption key identifier for the virtual machine. The method further includes, with the computing system, loading the second encryption key identifier into a virtual machine control module of a virtual processor of the virtual machine and after loading the second encryption key identifier, entering the context of the virtual machine.Type: GrantFiled: February 23, 2016Date of Patent: September 4, 2018Inventor: Henri Van Riel
-
Publication number: 20180239625Abstract: A system for CPU overcommit with guest idle-polling includes a memory, a plurality of host CPUs in communication with the memory, a virtual machine, and a hypervisor. The plurality of host CPUs include a first host CPU and a second host CPU. The virtual machine includes a virtual central processing unit (VCPU) and a guest. In an example, the VCPU executes on the first host CPU. The guest records in a location of guest memory a value indicating that the VCPU is in an idle-polling state. Then, when the hypervisor detects that a new task needs to be executed, the hypervisor reads the value in the location of the guest memory and determines that the VCPU is in the idle-polling state. Then, the hypervisor schedules the new task to the first host CPU.Type: ApplicationFiled: February 22, 2017Publication date: August 23, 2018Inventors: Michael Tsirkin, Henri van Riel
-
Patent number: 10002016Abstract: A system and methods are disclosed for configuring a virtualized system for real-time response from virtual machines (VMs). In accordance with one embodiment, a VM request is received, where the request specifies a number N of virtual processors for executing real-time tasks, and where N is a positive integer. In response to the VM request, a plurality of physical processors are partitioned into a first subset dedicated to real-time tasks and a second subset dedicated to non-real-time tasks, the first subset having at least N physical processors, and one or more commands are submitted to one or both of a hypervisor and a guest OS of a first VM to configure the first VM to have N virtual processors dedicated to real-time tasks and a set of additional virtual processors dedicated to non-real-time tasks.Type: GrantFiled: July 23, 2015Date of Patent: June 19, 2018Assignee: Red Hat, Inc.Inventors: Henri Van Riel, Luiz Capitulino, Marcelo Tosatti
-
Publication number: 20180150232Abstract: An example method of allocating memory pages for a guest includes receiving, by a hypervisor, a request to allocate a plurality of guest memory pages for a guest running on a virtual machine. The virtual machine and the hypervisor run on a host machine. The method also includes in response to the request: (i) allocating, by the hypervisor, a plurality of host memory pages, and (ii) mapping the plurality of guest memory pages to the plurality of host memory pages.Type: ApplicationFiled: November 29, 2016Publication date: May 31, 2018Inventors: Michael Tsirkin, Henri van Riel
-
Publication number: 20180089089Abstract: Systems and methods for data storage management technology that enables a guest module of a virtual machine to indicate an order in which a host module should write data from physical memory to a secondary storage. An example method may comprise: identifying, by a processing device executing a host module, a plurality of modifications to direct access excited (DAX) memory made by a plurality of direct access operations executed by a guest module of a virtual machine; determining, by the host module, an order of the plurality of modifications to DAX memory; receiving, by the host module, a synchronization request from the guest module; and responsive to the synchronization request, copying, by the host module, data from the DAX memory to a secondary storage in view of the order of the plurality of modifications.Type: ApplicationFiled: December 4, 2017Publication date: March 29, 2018Inventor: Henri Van Riel
-
Patent number: 9886449Abstract: Systems and methods for data storage management technology that optimizes the creation and storage of data objects. An example method may involve: receiving a request to create a data object; storing a first portion of the data object in a first data storage; determining a location in a second data storage in view of a predicted size of the data object and an access unit size of the second data storage; copying, by a processing device, the first portion of the data object from the first data storage to the location in the second data storage; and in response to receiving a second portion of the data object, directly storing the second portion in the second data storage.Type: GrantFiled: February 15, 2017Date of Patent: February 6, 2018Assignee: Red Hat, Inc.Inventor: Henri Van Riel
-
Publication number: 20180032452Abstract: A system, methods, and apparatus for determining memory distribution across multiple non-uniform memory access processing nodes are disclosed. An apparatus includes processing nodes, each including processing units and main memory serving as local memory. A bus connects the processing units of each processing node to different main memory of a different processing node as shared memory. Access to local memory has lower memory access latency than access to shared memory. The processing nodes execute threads distributed across the processing nodes, and detect memory accesses made from each processing node for each thread. The processing nodes determine locality values for the thread that represent the fraction of memory accesses made from the processing nodes, and determine processing time values for the threads for a sampling period. The processing nodes determine weighted locality values for the threads, and determine a memory distribution across the processing nodes based on the weighted locality values.Type: ApplicationFiled: October 9, 2017Publication date: February 1, 2018Inventor: Henri van Riel
-
Publication number: 20180025022Abstract: Systems and methods for data storage management technology that optimizes the creation and storage of data objects. An example method may involve: receiving a request to create a data object; storing a first portion of the data object in a first data storage; determining a location in a second data storage in view of a predicted size of the data object and an access unit size of the second data storage; copying, by a processing device, the first portion of the data object from the first data storage to the location in the second data storage; and in response to receiving a second portion of the data object, directly storing the second portion in the second data storage.Type: ApplicationFiled: February 15, 2017Publication date: January 25, 2018Inventor: Henri Van Riel
-
Patent number: 9836402Abstract: Systems and methods for data storage management technology that enables a guest module of a virtual machine to indicate an order in which a host module should write data from physical memory to a secondary storage. An example method may comprise: identifying, by a processing device executing a host module, a plurality of modifications to physical memory made by a plurality of direct access operations executed by a guest module of a virtual machine; determining, by the host module, an order of the plurality of modifications to physical memory; receiving, by the host module, a synchronization request from the guest module; and responsive to the synchronization request, copying, by the host module, data from the physical memory to a secondary storage in view of the order of the plurality of modifications.Type: GrantFiled: July 22, 2016Date of Patent: December 5, 2017Assignee: Red Hat, Inc.Inventor: Henri Van Riel
-
Patent number: 9798482Abstract: A system and method for efficient and secure memory allocation in virtualized systems. A hypervisor receives, from a first virtual machine (VM), a message specifying a page of memory accessible to the first VM. The hypervisor determines that the page is not accessible to other VMs, adds an identifier identifying the page to a set of free page identifiers, and associates the identifier with the first VM. The hypervisor receives a page allocation request from a second VM, and in response attempts to locate an identifier associated with the second VM in the set of free page identifiers. Responsive to a successful attempt, the hypervisor allocates to the second VM a first page of memory corresponding to the located identifier, without clearing the first page. Responsive to an unsuccessful attempt, the hypervisor clears a second page of memory and allocates the cleared second page to the second VM.Type: GrantFiled: December 5, 2016Date of Patent: October 24, 2017Assignee: Red Hat, Inc.Inventors: Michael Tsirkin, Henri van Riel
-
Patent number: 9785581Abstract: A system, methods, and apparatus for determining memory distribution across multiple non-uniform memory access processing nodes are disclosed. An apparatus includes processing nodes, each including processing units and main memory serving as local memory. A bus connects the processing units of each processing node to different main memory of a different processing node as shared memory. Access to local memory has lower memory access latency than access to shared memory. The processing nodes execute threads distributed across the processing nodes, and detect memory accesses made from each processing node for each thread. The processing nodes determine locality values for the thread that represent the fraction of memory accesses made from the processing nodes, and determine processing time values for the threads for a sampling period. The processing nodes determine weighted locality values for the threads, and determine a memory distribution across the processing nodes based on the weighted locality values.Type: GrantFiled: February 28, 2014Date of Patent: October 10, 2017Assignee: Red Hat, Inc.Inventor: Henri van Riel
-
Publication number: 20170244557Abstract: A method includes, with a computing system, exiting a context of a virtual machine, the exiting in response to a request from a guest operating system of the virtual machine to switch from a first encryption key identifier for the virtual machine to a second encryption key identifier for the virtual machine. The method further includes, with the computing system, loading the second encryption key identifier into a virtual machine control module of a virtual processor of the virtual machine and after loading the second encryption key identifier, entering the context of the virtual machine.Type: ApplicationFiled: February 23, 2016Publication date: August 24, 2017Inventor: Henri Van Riel
-
Patent number: 9715403Abstract: Optimized extended context management for virtual machines is disclosed. An example system includes a memory, processor, VM, and kernel, which executes the VM using guest space, stores a guest state in an extended state register, which the VM has access to, receives an instruction, saves the guest state, and determines whether the kernel is configured to handle the process using kernel space. If so, the process is handled using kernel space without using user space, and if not, a user state in the extended state register is restored, the process is handled using user space, an updated user state is stored in the extended state register, the updated user state is saved, and the guest state is restored in the extended state register. Finally, execution of the VM using the guest space is resumed.Type: GrantFiled: February 27, 2015Date of Patent: July 25, 2017Assignee: Red Hat, Inc.Inventors: Henri van Riel, Marcelo Tosatti
-
Publication number: 20170075814Abstract: Methods, systems, and computer program products for receiving a memory allocation request; comparing a memory size corresponding to the memory allocation request to a memory size threshold; allocating a memory page that has a size larger than the memory size threshold, the memory page having a page entry in a page management data structure; and allocating a portion of the memory page, the portion of the memory page corresponding to a sub-page of the memory page.Type: ApplicationFiled: September 11, 2015Publication date: March 16, 2017Inventors: Henri van Riel, Michael Tsirkin
-
Publication number: 20170075582Abstract: Methods, systems, and computer program products for receiving a memory access request, the memory access request including a virtual memory address; locating a page entry in a page entry structure, the page entry corresponding to the virtual memory address; identifying that a page corresponding to the page entry includes a sub-page, the sub-page included within a subset of a memory space allocated to the page; determining a page frame number corresponding to the sub-page and an offset corresponding to the sub-page; and accessing the offset within the sub-page.Type: ApplicationFiled: September 11, 2015Publication date: March 16, 2017Inventors: Henri van Riel, Michael Tsirkin
-
Patent number: 9588976Abstract: Systems and methods for data storage management technology that optimizes the creation and storage of file objects. The method includes: receiving a request to create a file object; storing a first portion of the file object in a buffer in a first data storage; determining a location in a second data storage in view of a predicted size of the file object; migrating the first portion of the file object from the buffer to the location in the second data storage; and in response to receiving a second portion of the file object, storing the second portion in the second data storage without storing the second portion in the buffer in the first data storage.Type: GrantFiled: July 22, 2016Date of Patent: March 7, 2017Assignee: Red Hat, Inc.Inventor: Henri Van Riel
-
Publication number: 20170024231Abstract: A system and methods are disclosed for configuring a virtualized system for real-time response from virtual machines (VMs). In accordance with one embodiment, a VM request is received, where the request specifies a number N of virtual processors for executing real-time tasks, and where N is a positive integer. In response to the VM request, a plurality of physical processors are partitioned into a first subset dedicated to real-time tasks and a second subset dedicated to non-real-time tasks, the first subset having at least N physical processors, and one or more commands are submitted to one or both of a hypervisor and a guest OS of a first VM to configure the first VM to have N virtual processors dedicated to real-time tasks and a set of additional virtual processors dedicated to non-real-time tasks.Type: ApplicationFiled: July 23, 2015Publication date: January 26, 2017Inventors: Henri Van Riel, Luiz Capitulino, Marcelo Tosatti
-
Patent number: 9471228Abstract: Aspects of the disclosure provide for caching policies for solid state drives. A method of the disclosure includes receiving a request to perform a write operation of a first size; determining, by a processing device, a threshold of input/output I/O size in view of an average bandwidth of a solid state drive (SSD) and information related to I/O operations performed by at least one of the SSD or a hard disk drive (HDD); comparing the first size with the threshold of I/O size; and determining, by the processing device, whether the write operation is to be performed on the SSD or on the HDD in view of the comparison.Type: GrantFiled: November 20, 2014Date of Patent: October 18, 2016Assignee: Red Hat, Inc.Inventor: Henri van Riel
-
Publication number: 20160253196Abstract: Optimized extended context management for virtual machines is disclosed. An example system includes a memory, processor, VM, and kernel, which executes the VM using guest space, stores a guest state in an extended state register, which the VM has access to, receives an instruction, saves the guest state, and determines whether the kernel is configured to handle the process using kernel space. If so, the process is handled using kernel space without using user space, and if not, a user state in the extended state register is restored, the process is handled using user space, an updated user state is stored in the extended state register, the updated user state is saved, and the guest state is restored in the extended state register. Finally, execution of the VM using the guest space is resumed.Type: ApplicationFiled: February 27, 2015Publication date: September 1, 2016Inventors: Henri van Riel, Marcelo Tosatti
-
Publication number: 20160147443Abstract: Aspects of the disclosure provide for caching policies for solid state drives. A method of the disclosure includes receiving a request to perform a write operation of a first size; determining, by a processing device, a threshold of input/output I/O size in view of an average bandwidth of a solid state drive (SSD) and information related to I/O operations performed by at least one of the SSD or a hard disk drive (HDD); comparing the first size with the threshold of I/O size; and determining, by the processing device, whether the write operation is to be performed on the SSD or on the HDD in view of the comparison.Type: ApplicationFiled: November 20, 2014Publication date: May 26, 2016Inventor: Henri van Riel