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: 20180241712Abstract: 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: ApplicationFiled: April 20, 2018Publication date: August 23, 2018Inventors: Marcel Apfelbaum, Gal Hammer
-
Publication number: 20180196772Abstract: 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: ApplicationFiled: March 6, 2018Publication date: July 12, 2018Inventors: Marcel Apfelbaum, Michael Tsirkin
-
Publication number: 20180136977Abstract: 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: ApplicationFiled: November 15, 2016Publication date: May 17, 2018Inventors: Michael Tsirkin, Marcel Apfelbaum
-
Patent number: 9959233Abstract: 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: GrantFiled: April 28, 2015Date of Patent: May 1, 2018Assignee: RED HAT ISRAEL, LTD.Inventors: Marcel Apfelbaum, Michael Tsirkin
-
Patent number: 9961033Abstract: 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: GrantFiled: November 9, 2015Date of Patent: May 1, 2018Assignee: Red Hat Israel, Ltd.Inventors: Marcel Apfelbaum, Gal Hammer
-
Patent number: 9952980Abstract: 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: GrantFiled: May 18, 2015Date of Patent: April 24, 2018Assignee: Red Hat Israel, Ltd.Inventors: Michael Tsirkin, Marcel Apfelbaum
-
Publication number: 20180039594Abstract: 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: ApplicationFiled: August 5, 2016Publication date: February 8, 2018Inventors: Marcel Apfelbaum, Michael Tsirkin
-
Patent number: 9779050Abstract: 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: GrantFiled: April 27, 2015Date of Patent: October 3, 2017Assignee: Red Hat Israel, Ltd.Inventors: Marcel Apfelbaum, Michael Tsirkin
-
Publication number: 20170249106Abstract: 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: ApplicationFiled: February 29, 2016Publication date: August 31, 2017Inventors: Marcel Apfelbaum, Gal Hammer
-
Publication number: 20170242811Abstract: 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: ApplicationFiled: February 24, 2016Publication date: August 24, 2017Inventors: Michael Tsirkin, Marcel Apfelbaum
-
Publication number: 20170235679Abstract: 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: ApplicationFiled: May 1, 2017Publication date: August 17, 2017Inventors: Michael Tsirkin, Marcel Apfelbaum
-
Publication number: 20170134325Abstract: 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: ApplicationFiled: November 9, 2015Publication date: May 11, 2017Inventors: Marcel Apfelbaum, Gal Hammer
-
Patent number: 9639492Abstract: 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: GrantFiled: January 15, 2015Date of Patent: May 2, 2017Assignee: Red Hat Israel, Ltd.Inventors: Michael Tsirkin, Marcel Apfelbaum
-
Publication number: 20170075706Abstract: 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: ApplicationFiled: September 16, 2015Publication date: March 16, 2017Inventors: Marcel Apfelbaum, Gal Hammer
-
Publication number: 20160342527Abstract: 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: ApplicationFiled: May 18, 2015Publication date: November 24, 2016Inventors: Michael Tsirkin, Marcel Apfelbaum
-
Publication number: 20160321207Abstract: 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: ApplicationFiled: April 28, 2015Publication date: November 3, 2016Inventors: Marcel Apfelbaum, Michael Tsirkin
-
Publication number: 20160314089Abstract: 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: ApplicationFiled: April 27, 2015Publication date: October 27, 2016Inventors: Marcel Apfelbaum, Michael Tsirkin
-
Publication number: 20160239430Abstract: 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: ApplicationFiled: February 12, 2015Publication date: August 18, 2016Inventors: Michael Tsirkin, Marcel Apfelbaum
-
Publication number: 20160239323Abstract: 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: ApplicationFiled: February 13, 2015Publication date: August 18, 2016Inventors: Michael Tsirkin, Marcel Apfelbaum
-
Publication number: 20160210259Abstract: 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: ApplicationFiled: January 15, 2015Publication date: July 21, 2016Inventors: Michael Tsirkin, Marcel Apfelbaum