Patents by Inventor Michael S. Tsirkin

Michael S. Tsirkin 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: 9389899
    Abstract: Methods, systems, and computer program products for providing fair unidirectional multi-queue virtual machine migration are disclosed. A computer-implemented method may include maintaining a current scan identifier for each of a plurality of streams used to migrate a virtual machine from a first hypervisor to a second hypervisor, determining when a current scan identifier of a first stream and a current scan identifier of a second stream are associated with different memory states of the virtual machine, and adjusting processing of memory updates when the current scan identifiers are associated with different memory states of the virtual machine. The adjusting may be performed, for example, by pausing processing on each stream having a current scan identifier subsequent to the earliest current scan identifier determined for the streams, and processing memory updates on each stream having a current scan identifier matching the earliest current scan identifier.
    Type: Grant
    Filed: January 27, 2014
    Date of Patent: July 12, 2016
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael S. Tsirkin, Karen Noel
  • Patent number: 9367345
    Abstract: A hypervisor configures a VM function component for execution on behalf of a guest operating system of a virtual machine, the VM function component to send a request to a virtual processor. The hypervisor receives a notification from the source virtual machine to execute the VM function component to send the request to the virtual processor. The VM function component identifies a physical processor associated with the virtual processor, and adds the request to a memory space associated with the physical processor.
    Type: Grant
    Filed: February 26, 2015
    Date of Patent: June 14, 2016
    Assignee: Red Hat Israel, Ltd.
    Inventor: Michael S. Tsirkin
  • Patent number: 9367343
    Abstract: Methods, systems, and computer program products for providing dynamic batch management of shared packet buffers are disclosed. A virtualized computer system may include a hypervisor with access to memory and executed by a processor to maintain a pool of host memory to store a plurality of incoming network packets received by a network device, adjust a number of memory buffers associated with the pool of host memory to resize the pool of host memory, receive an indication of an incoming network packet stored in the pool of host memory by the network device, and provide the incoming network packet to a guest. In an example, the hypervisor uses the pool of host memory to perform batch processing of the incoming network packets and dynamically adjusts the size of the pool during the processing by adding or removing memory buffers in response to an event, condition, request, etc.
    Type: Grant
    Filed: August 29, 2014
    Date of Patent: June 14, 2016
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael S. Tsirkin, Thomas Graf
  • Publication number: 20160147551
    Abstract: A hypervisor associates a combined register space with a virtual device to be presented to a guest operating system of a virtual machine, the combined register space comprising a default register space and an additional register space. Responsive to detecting an access of the additional register space by the guest operating system of the virtual machine, the hypervisor performs an operation on behalf of the virtual machine, the operation pertaining to the access of the additional register space.
    Type: Application
    Filed: November 25, 2014
    Publication date: May 26, 2016
    Inventors: Michael S. Tsirkin, Paolo Bonzini
  • Patent number: 9348655
    Abstract: A hypervisor of a source host receives a request to migrate a group of virtual machines from the source host to a destination host. The hypervisor of the source host determines that a first virtual machine being migrated to the destination host shares a memory space on the source host with a second virtual machine on the source host. Upon receiving a request from the second virtual machine on the source host to access a first memory page of the shared memory space on the source host that has been migrated to the destination host, the hypervisor of the source host initiates migration of the second virtual machine to the destination host.
    Type: Grant
    Filed: November 18, 2014
    Date of Patent: May 24, 2016
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael S. Tsirkin, David A. Gilbert
  • Publication number: 20160139962
    Abstract: A hypervisor of a source host receives a request to migrate a group of virtual machines from the source host to a destination host. The hypervisor of the source host determines that a first virtual machine being migrated to the destination host shares a memory space on the source host with a second virtual machine on the source host. Upon receiving a request from the second virtual machine on the source host to access a first memory page of the shared memory space on the source host that has been migrated to the destination host, the hypervisor of the source host initiates migration of the second virtual machine to the destination host.
    Type: Application
    Filed: November 18, 2014
    Publication date: May 19, 2016
    Inventors: Michael S. Tsirkin, David A. Gilbert
  • Publication number: 20160124761
    Abstract: A guest operating system of a virtual machine sends a request to a hypervisor to coalesce interrupts from a networking device. The guest operating system then monitors the execution state of an application on the virtual machine to detect when the application becomes idle. Upon detecting that the application is idle, the guest operating system can send a request to the hypervisor for any coalesced interrupts that have been queued for delivery to the application. The guest operating system may then receive the coalesced interrupts from the hypervisor and deliver them to the application.
    Type: Application
    Filed: October 29, 2014
    Publication date: May 5, 2016
    Inventor: Michael S. Tsirkin
  • Publication number: 20160124763
    Abstract: A hypervisor executing on a computer system identifies a request of a guest operating system of a virtual machine associated with a shared device. The shared device comprises a shared memory space between a virtual processor of the virtual machine and the hypervisor and the virtual machine has a plurality of virtual processors. The hypervisor processes the request of the guest operating system and polls the shared device for additional requests of the guest operating system. Upon determining that there are no additional requests associated with the shared device to be processed, the hypervisor determines the execution state of each virtual processor of the virtual machine. The hypervisor disables polling the shared device for requests upon determining that at least one of the plurality of virtual processors has been pre-empted.
    Type: Application
    Filed: October 29, 2014
    Publication date: May 5, 2016
    Inventor: Michael S. Tsirkin
  • Publication number: 20160124762
    Abstract: A hypervisor identifies one or more interrupts of a networking device for a virtual machine. The hypervisor queues the interrupts and determines the execution state of at least one virtual processor of a virtual machine. Upon determining that the execution state of the virtual processor is active, the hypervisor continues queuing the interrupts of the networking device. Upon determining that the execution state of the virtual processor has changed to idle, the hypervisor provides the queued interrupts to the virtual machine.
    Type: Application
    Filed: October 30, 2014
    Publication date: May 5, 2016
    Inventors: Michael S. Tsirkin, Paolo Bonzini
  • Publication number: 20160062781
    Abstract: Methods, systems, and computer program products for providing dynamic batch management of shared packet buffers are disclosed. A virtualized computer system may include a hypervisor with access to memory and executed by a processor to maintain a pool of host memory to store a plurality of incoming network packets received by a network device, adjust a number of memory buffers associated with the pool of host memory to resize the pool of host memory, receive an indication of an incoming network packet stored in the pool of host memory by the network device, and provide the incoming network packet to a guest. In an example, the hypervisor uses the pool of host memory to perform batch processing of the incoming network packets and dynamically adjusts the size of the pool during the processing by adding or removing memory buffers in response to an event, condition, request, etc.
    Type: Application
    Filed: August 29, 2014
    Publication date: March 3, 2016
    Inventors: Michael S. Tsirkin, Thomas Graf
  • Publication number: 20160050300
    Abstract: Methods, systems, and computer program products for providing zero-copy multiplexing using copy-on-write are disclosed. Examples generally relate to both physical and virtualized computer systems. A computer-implemented method may include receiving notification of an incoming network packet, determining that a section of the network packet is to be modified, creating a copy of the network packet section to be modified, modifying the network packet section copy, and sending a memory location of the modified network packet section copy to an application. In a virtualized computer system, a hypervisor may receive notification of an incoming network packet, determine that a section of the network packet is to be modified, create a copy of the network packet section to be modified, modify the network packet section copy, and send a memory location of the modified network packet section copy to a guest when providing a modified network packet to the guest.
    Type: Application
    Filed: August 12, 2014
    Publication date: February 18, 2016
    Inventors: Michael S. Tsirkin, Thomas Graf
  • Publication number: 20160006687
    Abstract: Methods, systems, and computer program products for providing adaptive load balancing for bridged systems are disclosed. Examples generally relate to both physical and virtualized computer systems. A computer-implemented method may include mapping a first network interface to each of a plurality of intermediate network interfaces, determining a second network interface to use from the intermediate network interfaces for sending an outbound packet received from the first network interface, updating the outbound packet by replacing a source layer-2 network address of the outbound packet with a layer-2 network address assigned to a mapping between the first network interface and the second network interface, and sending the updated outbound packet using the second network interface.
    Type: Application
    Filed: July 3, 2014
    Publication date: January 7, 2016
    Inventors: Michael S. Tsirkin, Veaceslav Falico
  • Patent number: 9229763
    Abstract: A method and system for providing a guest with virtual media that can be read by the guest. A hypervisor hosted by a computer system presents a guest-to-host channel to a guest in the computer system. The hypervisor receives content from the guest via the guest-to-host channel, the content to be stored and managed by the hypervisor in a memory area associated with the guest in the computer system, the memory area not being directly accessible to the guest. The hypervisor then receives a request from the guest indicating that the guest is to perform at least one operation on the content, and provides the content for the guest to perform the at least one operation.
    Type: Grant
    Filed: March 16, 2015
    Date of Patent: January 5, 2016
    Assignee: Red Hat, Ltd.
    Inventors: Michael S. Tsirkin, Gleb Natapov
  • Patent number: 9223616
    Abstract: A mechanism for virtual machine resource reduction for live migration optimization is disclosed. A method of the invention includes monitoring a rate of state change of a virtual machine (VM) undergoing a live migration, determining that the rate of state change of the VM exceeds a rate of state transfer of the VM during the live migration process, and adjusting one or more resources of the VM to decrease the rate of state change of the VM to be less than the rate of state transfer of the VM.
    Type: Grant
    Filed: February 28, 2011
    Date of Patent: December 29, 2015
    Assignee: Red Hat Israel, Ltd.
    Inventor: Michael S. Tsirkin
  • Patent number: 9201823
    Abstract: A computing apparatus identifies that a first processor of a host has forwarded information for a device to a second processor that controls the device. After identifying that the first processor has forwarded the information to the second processor and in response to determining that one or more update criteria have been satisfied, the computing apparatus causes future information for the device to be forwarded to the second processor.
    Type: Grant
    Filed: October 27, 2014
    Date of Patent: December 1, 2015
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael S. Tsirkin, Avi Kivity
  • Patent number: 9183029
    Abstract: A mechanism for synchronizing backend peripheral devices with a virtual machine (VM) running state is disclosed. A method of the invention includes modifying a running state of a (VM managed by a hypervisor of a host machine, and updating a VM state indication associated with the VM to reflect the change in running state of the VM, wherein a peripheral device associated with the VM accesses the VM state indication to determine wh her to continue processing a VM state changing instruction.
    Type: Grant
    Filed: February 28, 2011
    Date of Patent: November 10, 2015
    Assignee: Red Hat Israel, Ltd.
    Inventor: Michael S Tsirkin
  • Publication number: 20150248237
    Abstract: Methods, systems, and computer program products for providing reverse copy-on-write for improved cache utilization are disclosed. Examples generally relate to both physical and virtualized computer systems. A computer-implemented method may include detecting when a first task is to write to a memory page that is shared with a second task, creating a copy of the memory page for use by the second task, and modifying a memory mapping to associate the second task with the copy of the memory page. In a virtualized computer system, a hypervisor may detect when a first virtual machine is to write to a memory page shared with a second virtual machine, create a copy of the memory page for the second virtual machine, and adjust a memory mapping to associate the second virtual machine with the copy of the memory page.
    Type: Application
    Filed: February 28, 2014
    Publication date: September 3, 2015
    Applicant: Red Hat Israel, Ltd.
    Inventor: Michael S. Tsirkin
  • Patent number: 9104459
    Abstract: A mechanism for memory change tracking during migration of a virtual machine (VM) with VM-controlled assigned peripherals is disclosed. A method of the invention includes informing a write tracking module of an interest by a hypervisor of a host machine in a specific memory location associated with a peripheral device that is controlled by a VM managed by the hypervisor, receiving notification from the write tracking module that the identified specific memory location has been modified by the peripheral device, and marking a memory page of the specific identified memory location as dirty in order for the migration of the memory page to be repeated as part of a migration process of the VM to a destination host machine.
    Type: Grant
    Filed: January 7, 2011
    Date of Patent: August 11, 2015
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael S. Tsirkin, Dor Laor, Avi Kivity
  • Publication number: 20150212844
    Abstract: Methods, systems, and computer program products for providing fair unidirectional multi-queue virtual machine migration are disclosed. A computer-implemented method may include maintaining a current scan identifier for each of a plurality of streams used to migrate a virtual machine from a first hypervisor to a second hypervisor, determining when a current scan identifier of a first stream and a current scan identifier of a second stream are associated with different memory states of the virtual machine, and adjusting processing of memory updates when the current scan identifiers are associated with different memory states of the virtual machine. The adjusting may be performed, for example, by pausing processing on each stream having a current scan identifier subsequent to the earliest current scan identifier determined for the streams, and processing memory updates on each stream having a current scan identifier matching the earliest current scan identifier.
    Type: Application
    Filed: January 27, 2014
    Publication date: July 30, 2015
    Applicant: Red Hat Israel, Ltd.
    Inventors: Michael S. Tsirkin, Karen Noel
  • Publication number: 20150199209
    Abstract: Methods, systems, and computer program products for hypervisor-based balloon page initialization are provided. A computer-implemented method may include receiving, by a hypervisor, a memory page from a guest, returning the memory page to the guest, and notifying the guest that the hypervisor is to initialize the returned memory page.
    Type: Application
    Filed: January 13, 2014
    Publication date: July 16, 2015
    Applicant: Red Hat Israel, Ltd.
    Inventor: Michael S. Tsirkin