Patents by Inventor Marcel Apfelbaum

Marcel Apfelbaum 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).

  • Publication number: 20180241712
    Abstract: Various examples are directed to systems and methods for utilizing a memory-mapped I/O channel. A first application may request that a message be sent to a channel counterparty. A message driver may receive from the first application the request to send the message, where the request comprises payload data from the message. The message driver may write a work request to a send queue of a first queue pair at the first memory location. An emulated channel adapter may poll a physical address at a memory device corresponding to the first memory location; determine that the work request is present at the send queue, and send the payload data to the channel counterparty.
    Type: Application
    Filed: April 20, 2018
    Publication date: August 23, 2018
    Inventors: Marcel Apfelbaum, Gal Hammer
  • Publication number: 20180196772
    Abstract: A method includes determining a first host Non-Uniform Memory Access (NUMA) node of a plurality of host NUMA nodes on a host machine that provides a virtual machine to a guest, the first host NUMA node being associated with a pass-through device, creating a virtual NUMA node on the virtual machine, mapping the virtual NUMA node to the first host NUMA node, adding a virtual expander to a virtual root bus of the virtual machine, and associating the virtual expander with the virtual NUMA node.
    Type: Application
    Filed: March 6, 2018
    Publication date: July 12, 2018
    Inventors: Marcel Apfelbaum, Michael Tsirkin
  • Publication number: 20180136977
    Abstract: A system and method of device assignment includes receiving, by a supervisor, an assignment request to assign a device to a first application and a second application. The first application is associated with a first memory and has a first address. The second application is associated with a second memory and has a second address. The supervisor selects a first bus address offset and a second bus address offset, which is different from the first bus address offset. The supervisor sends, to the first application, the first bus address offset. The supervisor sends, to the second application, the second bus address offset. The supervisor updates a mapping to the first address to include the first bus address offset and updates a mapping to the second address to include the second bus address offset. The device is assigned to the first application and the second application.
    Type: Application
    Filed: November 15, 2016
    Publication date: May 17, 2018
    Inventors: Michael Tsirkin, Marcel Apfelbaum
  • Patent number: 9959233
    Abstract: A method includes determining a first host Non-Uniform Memory Access (NUMA) node of a plurality of host NUMA nodes on a host machine that provides a virtual machine to a guest, the first host NUMA node being associated with a pass-through device, creating a virtual NUMA node on the virtual machine, mapping the virtual NUMA node to the first host NUMA node, adding a virtual expander to a virtual root bus of the virtual machine, and associating the virtual expander with the virtual NUMA node.
    Type: Grant
    Filed: April 28, 2015
    Date of Patent: May 1, 2018
    Assignee: RED HAT ISRAEL, LTD.
    Inventors: Marcel Apfelbaum, Michael Tsirkin
  • Patent number: 9961033
    Abstract: Various examples are directed to systems and methods for utilizing a memory-mapped I/O channel. A first application may request that a message be sent to a channel counterparty. A message driver may receive from the first application the request to send the message, where the request comprises payload data from the message. The message driver may write a work request to a send queue of a first queue pair at the first memory location. An emulated channel adapter may poll a physical address at a memory device corresponding to the first memory location; determine that the work request is present at the send queue, and send the payload data to the channel counterparty.
    Type: Grant
    Filed: November 9, 2015
    Date of Patent: May 1, 2018
    Assignee: Red Hat Israel, Ltd.
    Inventors: Marcel Apfelbaum, Gal Hammer
  • Patent number: 9952980
    Abstract: Systems and methods for deferring registration for Direct Memory Access (DMA) operations. An example method may comprise: receiving a memory region registration request identifying a memory region for a direct memory access (DMA) operation; generating a local key for the memory region; receiving a DMA work request referencing the local key; and responsive to determining that an amount of pinned memory is below a threshold, registering the memory region for DMA transfer.
    Type: Grant
    Filed: May 18, 2015
    Date of Patent: April 24, 2018
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael Tsirkin, Marcel Apfelbaum
  • Publication number: 20180039594
    Abstract: A system and method for enabling hot-plugging of devices in virtualized systems. A hypervisor obtains respective values representing respective quantities of a resource for a plurality of virtual root buses of a virtual machine (VM). The hypervisor determines a first set of address ranges of the resource that are allocated for one or more virtual devices attached to at least one of the plurality of virtual root buses. The hypervisor determines, in view of the first set of allocated address ranges, a second set of address ranges of the resource available for attaching one or more additional virtual devices to at least one of the plurality of virtual root buses. The hypervisor assigns to the plurality of virtual root buses non-overlapping respective address ranges of the resource within the second set.
    Type: Application
    Filed: August 5, 2016
    Publication date: February 8, 2018
    Inventors: Marcel Apfelbaum, Michael Tsirkin
  • Patent number: 9779050
    Abstract: Systems and methods for allocating virtual resources to a root PCI bus. An example method may comprise: intercepting, by a hypervisor being executed by a processing device of a host computer system, a virtual machine read operation with respect to a certain address range within a Peripheral Component Interconnect (PCI) configuration space; presenting, to a virtual machine running on the host computer system, an identifier of a root PCI bus; presenting, to the virtual machine, a PCI-to-PCI bridge associated with the root PCI bus; presenting, to the virtual machine, a PCI device that is communicatively coupled to a secondary PCI bus, wherein the secondary PCI bus is communicatively coupled to the PCI-to-PCI bridge; receiving, from the virtual machine, an identifier of a resource pool associated with the PCI-to-PCI bridge; associating the resource pool with the root PCI bus; and notifying of the resource pool a guest operating system of the virtual machine.
    Type: Grant
    Filed: April 27, 2015
    Date of Patent: October 3, 2017
    Assignee: Red Hat Israel, Ltd.
    Inventors: Marcel Apfelbaum, Michael Tsirkin
  • Publication number: 20170249106
    Abstract: A system and method of emulated input-output memory management units includes a management software associating a first device with a first input-output memory management unit having a first security designation, and associating a second device with a second input-output memory management unit having a second security designation different from the first security designation. A hypervisor constructs a table that describes associations between the plurality of devices and the plurality of input-output memory management units. The hypervisor provides the table to a guest virtual machine having a plurality of guest addresses including a first guest address and a second guest address. The first device accesses the first guest address through the first input-output memory management unit and the second device accesses the second guest address through the second input-output memory management unit.
    Type: Application
    Filed: February 29, 2016
    Publication date: August 31, 2017
    Inventors: Marcel Apfelbaum, Gal Hammer
  • Publication number: 20170242811
    Abstract: A system and method of device assignment includes receiving an assignment request to assign a device to a plurality of guest virtual machines. The plurality of guest virtual machines includes a first guest virtual machine with a first guest memory having a first physical address and a second guest virtual machine with a second guest memory having a second physical address. The method includes selecting a first bus address offset and a second bus address offset different from the first bus address offset. The method includes sending, to the first guest virtual machine, the first bus address offset, and sending, to the second guest virtual machine, the second bus address offset. The method includes updating a mapping to the first physical address to include the first bus address offset, and updating a mapping to the second physical address to include the second bus address offset.
    Type: Application
    Filed: February 24, 2016
    Publication date: August 24, 2017
    Inventors: Michael Tsirkin, Marcel Apfelbaum
  • Publication number: 20170235679
    Abstract: Methods, systems, and computer program products for configuring devices in a virtual environment are described. An example method includes determining a NUMA node assigned to a virtual machine. A guest of the virtual machine probes a root bus to detect a first device coupled to the root bus. The first device is assigned, based on the determined NUMA node, a first address range of the virtual machine. The guest is notified of an expander coupled to the first virtual root bus. The expander is probed to detect an additional root bus. The guest probes the additional root bus to detect a second device. The second device is assigned, based on the determined NUMA node, a second address range.
    Type: Application
    Filed: May 1, 2017
    Publication date: August 17, 2017
    Inventors: Michael Tsirkin, Marcel Apfelbaum
  • Publication number: 20170134325
    Abstract: Various examples are directed to systems and methods for utilizing a memory-mapped I/O channel. A first application may request that a message be sent to a channel counterparty. A message driver may receive from the first application the request to send the message, where the request comprises payload data from the message. The message driver may write a work request to a send queue of a first queue pair at the first memory location. An emulated channel adapter may poll a physical address at a memory device corresponding to the first memory location; determine that the work request is present at the send queue, and send the payload data to the channel counterparty.
    Type: Application
    Filed: November 9, 2015
    Publication date: May 11, 2017
    Inventors: Marcel Apfelbaum, Gal Hammer
  • Patent number: 9639492
    Abstract: Methods, systems, and computer program products for notifying a virtual machine of an expander coupled to a first virtual root bus, probing the expander to detect an additional root bus, probing the additional root bus to detect a second device, and assigning the second device to a second virtual root bus of the virtual machine.
    Type: Grant
    Filed: January 15, 2015
    Date of Patent: May 2, 2017
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael Tsirkin, Marcel Apfelbaum
  • Publication number: 20170075706
    Abstract: Systems and methods for using emulated I/O devices in virtual machine live migration. An example method comprises: creating an emulated input/output (I/O) device corresponding to a virtual function I/O device associated with a virtual machine being migrated from a first host computer system to a second host computer system; intercepting, by a processing device of the first host computer system, virtual machine calls to the virtual function I/O device; processing the intercepted virtual machine calls using the emulated I/O device; and disassociating the virtual function I/O device from the virtual machine.
    Type: Application
    Filed: September 16, 2015
    Publication date: March 16, 2017
    Inventors: Marcel Apfelbaum, Gal Hammer
  • Publication number: 20160342527
    Abstract: Systems and methods for deferring registration for Direct Memory Access (DMA) operations. An example method may comprise: receiving a memory region registration request identifying a memory region for a direct memory access (DMA) operation; generating a local key for the memory region; receiving a DMA work request referencing the local key; and responsive to determining that an amount of pinned memory is below a threshold, registering the memory region for DMA transfer.
    Type: Application
    Filed: May 18, 2015
    Publication date: November 24, 2016
    Inventors: Michael Tsirkin, Marcel Apfelbaum
  • Publication number: 20160321207
    Abstract: A method includes determining a first host Non-Uniform Memory Access (NUMA) node of a plurality of host NUMA nodes on a host machine that provides a virtual machine to a guest, the first host NUMA node being associated with a pass-through device, creating a virtual NUMA node on the virtual machine, mapping the virtual NUMA node to the first host NUMA node, adding a virtual expander to a virtual root bus of the virtual machine, and associating the virtual expander with the virtual NUMA node.
    Type: Application
    Filed: April 28, 2015
    Publication date: November 3, 2016
    Inventors: Marcel Apfelbaum, Michael Tsirkin
  • Publication number: 20160314089
    Abstract: Systems and methods for allocating virtual resources to a root PCI bus. An example method may comprise: intercepting, by a hypervisor being executed by a processing device of a host computer system, a virtual machine read operation with respect to a certain address range within a Peripheral Component Interconnect (PCI) configuration space; presenting, to a virtual machine running on the host computer system, an identifier of a root PCI bus; presenting, to the virtual machine, a PCI-to-PCI bridge associated with the root PCI bus; presenting, to the virtual machine, a PCI device that is communicatively coupled to a secondary PCI bus, wherein the secondary PCI bus is communicatively coupled to the PCI-to-PCI bridge; receiving, from the virtual machine, an identifier of a resource pool associated with the PCI-to-PCI bridge; associating the resource pool with the root PCI bus; and notifying of the resource pool a guest operating system of the virtual machine.
    Type: Application
    Filed: April 27, 2015
    Publication date: October 27, 2016
    Inventors: Marcel Apfelbaum, Michael Tsirkin
  • Publication number: 20160239430
    Abstract: A processing device receives a first request from a virtual machine to register a memory region to a hardware device. The processing device generates a first key for the memory region, wherein the memory region is not registered to the hardware device. The processing device generates a second key for a shared memory pool that is pinned and registered to the hardware device. The processing device generates a mapping of the first key to the second key. The processing device sends a response to the virtual machine that the memory region has been registered to the hardware device, the notification comprising the first key.
    Type: Application
    Filed: February 12, 2015
    Publication date: August 18, 2016
    Inventors: Michael Tsirkin, Marcel Apfelbaum
  • Publication number: 20160239323
    Abstract: A method performed by a physical computing system includes, with a hypervisor, presenting a virtualized Remote Direct Memory Access (RDMA) device to a guest, with the hypervisor, allocating a portion of total guest memory to the guest, with the hypervisor, determining a memory threshold for the guest, the memory threshold being based on a number of virtual machines managed by the hypervisor and a size of total guest memory, with the hypervisor, receiving from the guest, a first request to register a first size sub-portion of the portion of total guest memory to the virtualized RDMA device, and with the hypervisor, in response to determining that the first size sub-portion exceeds the memory threshold, returning a notification to the guest, the notification indicating that the first request failed. The first size sub-portion is less than the portion of total guest memory.
    Type: Application
    Filed: February 13, 2015
    Publication date: August 18, 2016
    Inventors: Michael Tsirkin, Marcel Apfelbaum
  • Publication number: 20160210259
    Abstract: Methods, systems, and computer program products for notifying a virtual machine of an expander coupled to a first virtual root bus, probing the expander to detect an additional root bus, probing the additional root bus to detect a second device, and assigning the second device to a second virtual root bus of the virtual machine.
    Type: Application
    Filed: January 15, 2015
    Publication date: July 21, 2016
    Inventors: Michael Tsirkin, Marcel Apfelbaum