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: 9912787
    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: Grant
    Filed: August 12, 2014
    Date of Patent: March 6, 2018
    Assignee: RED HAT ISRAEL, LTD.
    Inventors: Michael S. Tsirkin, Thomas Graf
  • Patent number: 9904564
    Abstract: Methods and systems for executing a request between a virtual machine and a paravirtualized machine are provided. The request is received from the virtual machine at a first shared memory of a hypervisor. The first shared memory is accessible to the virtual machine but not the paravirtualized machine. The request is transferred by the hypervisor from the first shared memory to a second shared memory of the hypervisor. The second shared memory is accessible to the paravirtualized machine but not the virtual machine. The request is intended for execution by the paravirtualized machine.
    Type: Grant
    Filed: November 15, 2011
    Date of Patent: February 27, 2018
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael S. Tsirkin, Avi Kivity
  • Patent number: 9886302
    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: June 6, 2016
    Date of Patent: February 6, 2018
    Assignee: RED HAT ISRAEL, LTD.
    Inventors: Michael S. Tsirkin, Thomas Graf
  • Patent number: 9766917
    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: Grant
    Filed: October 29, 2014
    Date of Patent: September 19, 2017
    Assignee: Red Hat Israel, Ltd.
    Inventor: Michael S. Tsirkin
  • Patent number: 9766918
    Abstract: A hypervisor identifies a physical GPU device accessible by the hypervisor to be assigned to a virtual machine and retrieves a GPU device identifier from the physical GPU device. The hypervisor then determines a host bridge device identifier that corresponds to the retrieved GPU device identifier using a mapping table that maps a plurality of GPU device identifiers to a corresponding plurality of host bridge device identifiers.
    Type: Grant
    Filed: February 23, 2015
    Date of Patent: September 19, 2017
    Assignee: Red Hat Israel, Ltd.
    Inventor: Michael S. Tsirkin
  • Patent number: 9740519
    Abstract: A hypervisor executing on a source host receives a request to migrate a virtual machine from the source host to a destination host. Responsive to determining that the virtual machine is executing a VM function component, the hypervisor on the source host pauses the migration of the virtual machine. Responsive to determining that the VM function component has completed executing the hypervisor on the source host resumes the migration of the virtual machine to the destination host.
    Type: Grant
    Filed: February 25, 2015
    Date of Patent: August 22, 2017
    Assignee: Red Hat Israel, Ltd.
    Inventor: Michael S. Tsirkin
  • Patent number: 9712436
    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: Grant
    Filed: July 3, 2014
    Date of Patent: July 18, 2017
    Assignee: RED HAT ISRAEL, LTD.
    Inventors: Michael S. Tsirkin, Veaceslav Falico
  • Patent number: 9697029
    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: Grant
    Filed: October 30, 2014
    Date of Patent: July 4, 2017
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael S. Tsirkin, Paolo Bonzini
  • Patent number: 9535732
    Abstract: A system for providing a zero copy transmission in virtualization environment includes a hypervisor that receives a guest operating system (OS) request pertaining to a data packet associated with a guest application, where the data packet resides in a buffer of the guest OS or a buffer of the guest application and has at least a partial header created during the networking stack processing. The hypervisor further sends, to a network device driver, a request to transfer the data packet over a network via a network device, where the request identifies the data packet residing in the buffer of the guest OS or the buffer of the guest application, and the hypervisor refrains from copying the data packet to a hypervisor buffer.
    Type: Grant
    Filed: November 24, 2009
    Date of Patent: January 3, 2017
    Assignee: Red Hat Israel, Ltd.
    Inventor: Michael S. Tsirkin
  • Publication number: 20160306652
    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: June 30, 2016
    Publication date: October 20, 2016
    Inventors: Michael S. Tsirkin, Karen Noel
  • Patent number: 9471226
    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: Grant
    Filed: February 28, 2014
    Date of Patent: October 18, 2016
    Assignee: Red Hat Israel, Ltd.
    Inventor: Michael S. Tsirkin
  • Publication number: 20160299777
    Abstract: A hypervisor receives a notification from a source virtual machine that provides network function virtualization (NFV) support to execute a VM function component to send a request to a 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: Application
    Filed: June 13, 2016
    Publication date: October 13, 2016
    Inventor: Michael S. Tsirkin
  • Patent number: 9459900
    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: Grant
    Filed: January 13, 2014
    Date of Patent: October 4, 2016
    Assignee: Red Hat Israel, Ltd.
    Inventor: Michael S. Tsirkin
  • Publication number: 20160283263
    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: June 6, 2016
    Publication date: September 29, 2016
    Inventors: Michael S. Tsirkin, Thomas Graf
  • Publication number: 20160266940
    Abstract: A hypervisor of a source host receives a request to migrate a group of virtual machines that provide network function virtualization support (NFV) from the source host to a destination host. The hypervisor of the source host determines that a first virtual machine of the group of virtual machines being migrated to the destination host shares a memory space on the source host with the group of virtual machines on the source host. Upon receiving a request from a second virtual machine of the group of virtual machines 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: May 23, 2016
    Publication date: September 15, 2016
    Inventors: Michael S. Tsirkin, David A. Gilbert
  • Publication number: 20160246629
    Abstract: A hypervisor identifies a physical GPU device accessible by the hypervisor to be assigned to a virtual machine and retrieves a GPU device identifier from the physical GPU device. The hypervisor then determines a host bridge device identifier that corresponds to the retrieved GPU device identifier using a mapping table that maps a plurality of GPU device identifiers to a corresponding plurality of host bridge device identifiers.
    Type: Application
    Filed: February 23, 2015
    Publication date: August 25, 2016
    Inventor: Michael S. Tsirkin
  • Publication number: 20160246633
    Abstract: A hypervisor configures a first VM function component for execution on behalf of a virtual machine, the first VM function component to execute a second VM function component. The hypervisor then configures the second VM function for execution on behalf of the first VM function component, the second VM function component to execute at least one privileged instruction. The hypervisor receives a request from the virtual machine to execute the first VM function component, and executes the first VM function component. The hypervisor then receives a request from the first VM function component to execute the second VM function component and executes the second VM function component.
    Type: Application
    Filed: February 24, 2015
    Publication date: August 25, 2016
    Inventor: Michael S. Tsirkin
  • Publication number: 20160246632
    Abstract: In response to detecting a change to a host hardware configuration, a hypervisor sends a notification of the change to a guest operating of a first virtual machine, the first virtual machine networked with one or more additional virtual machines. The hypervisor filters a networking packet from the guest operating system in view of the change to the host hardware configuration. In response to receiving from the guest operating system an indication that the change to the host hardware configuration has been recorded by the guest operating system, the hypervisor, disables filtering of one or more additional networking packets from the guest operating system.
    Type: Application
    Filed: February 24, 2015
    Publication date: August 25, 2016
    Inventor: Michael S. Tsirkin
  • Publication number: 20160246636
    Abstract: A hypervisor executing on a source host receives a request to migrate a virtual machine from the source host to a destination host. Responsive to determining that the virtual machine is executing a VM function component, the hypervisor on the source host pauses the migration of the virtual machine. Responsive to determining that the VM function component has completed executing the hypervisor on the source host resumes the migration of the virtual machine to the destination host.
    Type: Application
    Filed: February 25, 2015
    Publication date: August 25, 2016
    Inventor: Michael S. Tsirkin
  • Patent number: 9411624
    Abstract: A mechanism for virtual device interrupt hinting in virtualization systems is disclosed. A method of the invention includes receiving a virtual device event from a host central processing unit (CPU) of a multi-CPU host machine, the virtual device event directed to a virtual machine (VM) managed by the hypervisor on the host machine, identifying one or more virtual CPUs (VCPUs) of the VM that are running on the host CPU, and providing the identified one or more VCPUs of the VM as a hint to the VM, the hint sent to the VM with the virtual device event, wherein the VM programs a virtual device associated with the event to deliver interrupts to a VCPU of the VM identified in the hint.
    Type: Grant
    Filed: November 22, 2011
    Date of Patent: August 9, 2016
    Assignee: Red Hat Israel, Ltd.
    Inventor: Michael S. Tsirkin