Patents by Inventor Bandan Das

Bandan Das 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: 20240134669
    Abstract: Paravirtual pause loops in guest user space are provided by implementing, by a hypervisor for a virtualization environment, a paravirtual sleep command from a certain virtual machine of a plurality of virtual machines operating in the virtualization environment, the paravirtual sleep command indicating an instruction and a resource that the certain virtual machine is waiting on to perform the instruction; adding an entry to a work queue managed by the hypervisor for the plurality of virtual machines; and in response to the resource becoming available for the certain virtual machine: removing the entry from the work queue; and waking the certain virtual machine to perform the instruction with the resource.
    Type: Application
    Filed: October 23, 2022
    Publication date: April 25, 2024
    Inventor: Bandan Das
  • Patent number: 11734042
    Abstract: Providing supplemental information to a guest operating system by a hypervisor is disclosed. A hypervisor executing on a host computing device initiates a virtual machine comprising a guest kernel. The hypervisor determines an address of a shared memory area that is accessible by the guest kernel and accessible by the hypervisor. The hypervisor determines that an event has occurred for which supplemental information exists, the event corresponding to a particular event code of a plurality of different event codes. The hypervisor determines a location in the shared memory area that corresponds to the particular event code. The hypervisor inserts the supplemental information at the location in the shared memory area. The hypervisor causes an interrupt of the guest kernel.
    Type: Grant
    Filed: December 10, 2020
    Date of Patent: August 22, 2023
    Assignee: Red Hat, Inc.
    Inventor: Bandan Das
  • Patent number: 11550607
    Abstract: Processor core power management in a virtualized environment. A hypervisor, executing on a processor device of a computing host, the processor device having a plurality of processor cores, receives from a guest operating system of a virtual machine, a request to set a virtual central processing unit (VCPU) of the virtual machine to a first requested P-state level of a plurality of P-state levels. Based on the request, the hypervisor associates the VCPU with a first processor core having a P-state that corresponds to the first requested P-state level.
    Type: Grant
    Filed: September 27, 2019
    Date of Patent: January 10, 2023
    Assignee: Red Hat, Inc.
    Inventor: Bandan Das
  • Patent number: 11500550
    Abstract: Inhibiting memory accesses to executable modules. A hypervisor executing on a computing host initiates a virtual machine comprising a guest operating system. The hypervisor receives a communication from the guest operating system requesting that a range of memory utilized by the guest operating system be identified as being execute-only access. The hypervisor marks at least one physical page of memory that includes the range of memory as being execute-only access.
    Type: Grant
    Filed: August 27, 2019
    Date of Patent: November 15, 2022
    Assignee: Red Hat, Inc.
    Inventor: Bandan Das
  • Patent number: 11409551
    Abstract: A system and method of emulating virtual processor identifiers includes a nested hypervisor requesting a virtual processor identifier, which identifies a virtual processor, the request triggering an exit to a host hypervisor. The host hypervisor identifies a request including the virtual processor identifier. The host hypervisor generates a key defining an association between a virtual machine and the virtual processor identifier. The host hypervisor stores the key.
    Type: Grant
    Filed: February 27, 2017
    Date of Patent: August 9, 2022
    Assignee: RED HAT, INC.
    Inventors: Bandan Das, Karen Lee Noel
  • Publication number: 20220188136
    Abstract: Providing supplemental information to a guest operating system by a hypervisor is disclosed. A hypervisor executing on a host computing device initiates a virtual machine comprising a guest kernel. The hypervisor determines an address of a shared memory area that is accessible by the guest kernel and accessible by the hypervisor. The hypervisor determines that an event has occurred for which supplemental information exists, the event corresponding to a particular event code of a plurality of different event codes. The hypervisor determines a location in the shared memory area that corresponds to the particular event code. The hypervisor inserts the supplemental information at the location in the shared memory area. The hypervisor causes an interrupt of the guest kernel.
    Type: Application
    Filed: December 10, 2020
    Publication date: June 16, 2022
    Inventor: Bandan Das
  • Patent number: 11281607
    Abstract: According to one example, a method includes, with a hypervisor, advertising a paravirtualized cluster mode for a guest using a legacy Advanced Programmable Interrupt Controller (APIC), the paravirtualized cluster mode allowing for interrupts using logical destination mode on a virtual machine having a plurality of virtual cores that is greater than eight. The method further includes, associating each of the plurality of virtual cores with an N-bit identifier formatted to be one of 2N different values. The method further includes, with the hypervisor, in response to receiving an interrupt for the virtual machine, determining to which of the plurality of virtual cores the interrupt should be sent based on at least a subset of bits in a destination address of the interrupt.
    Type: Grant
    Filed: January 30, 2020
    Date of Patent: March 22, 2022
    Assignee: RED HAT, INC.
    Inventor: Bandan Das
  • Patent number: 11237860
    Abstract: Certain aspects and feature provide a host hypervisor that includes and advertises a virtual machine function that directs the host hypervisor to execute the next job with real-time priorities. A processing device can execute an application in a nested virtual machine, where the application includes at least one code section that relies on or makes use of real-time prioritized resources of the processing device. The processing device recognizes a virtual machine function call in response to the application determining that a code section using real-time prioritized resources is to be executed. The virtual machine function serves as a command that directs a host hypervisor to execute the next job (the next section of code to be executed) with real-time priorities. The processing device executes the code section in a real-time thread in response to the virtual machine function being called.
    Type: Grant
    Filed: December 21, 2018
    Date of Patent: February 1, 2022
    Assignee: Red Hat, Inc.
    Inventor: Bandan Das
  • Patent number: 11194615
    Abstract: A method performed by a physical computing system includes, with a hypervisor, determining a first time difference between when pause exiting was last enabled for the virtual machine and present time. The method further includes, with the hypervisor, in response to determining that the first time difference is greater than an enablement threshold, enabling pause exiting. The method further includes, with the hypervisor, with pause loop exiting enabled, determining a second time difference between when pause exiting was last disabled and the present time. The method further includes, with the hypervisor, disabling pause exiting in response to determining that the second time difference exceeds a disablement threshold.
    Type: Grant
    Filed: December 5, 2019
    Date of Patent: December 7, 2021
    Assignee: RED HAT, INC.
    Inventors: Andrea Arcangeli, Bandan Das
  • Patent number: 11182184
    Abstract: Implementing high-performance virtual machines for bare metal simulation is disclosed. A hypervisor executing on a host computer receives a request to initiate a high-performance (HP) virtual machine (VM). The hypervisor selects, based on the request, a HP virtual machine exit (VMEXIT) configuration from a plurality of different VMEXIT configurations. Each respective VMEXIT configuration of the plurality of different VMEXIT configurations identifies VMEXIT behavior in response to a task executing in a VM having a virtual machine control structure (VMCS) generated based on the respective VMEXIT configuration. The hypervisor generates a HP VMCS for the HP VM based on the HP VMEXIT configuration, the HP VMCS controlling the VMEXIT behavior in response to a task executing in the HP VM. The hypervisor initiates the HP VM.
    Type: Grant
    Filed: October 23, 2019
    Date of Patent: November 23, 2021
    Assignee: Red Hat, Inc.
    Inventor: Bandan Das
  • Patent number: 11144419
    Abstract: Controlled use of a memory monitor instruction and memory wait instruction in a virtualized environment. A hypervisor executing on a computing host determines that a first process executing in a virtual machine (VM) attempted to execute a memory monitor instruction. The hypervisor determines a memory range associated with the memory monitor instruction. A virtual machine control structure that corresponds to the VM is altered to prevent a virtual machine exit upon a subsequent execution of a memory wait instruction by the first process. The hypervisor executes the memory monitor instruction to cause the memory range to be monitored for a store command to the memory range. The hypervisor returns control to the first process to begin execution at an instruction after the memory monitor instruction.
    Type: Grant
    Filed: October 25, 2019
    Date of Patent: October 12, 2021
    Assignee: Red Hat, Inc.
    Inventors: Bandan Das, Karen L. Noel
  • Publication number: 20210240644
    Abstract: According to one example, a method includes, with a hypervisor, advertising a paravirtualized cluster mode for a guest using a legacy Advanced Programmable Interrupt Controller (APIC), the paravirtualized cluster mode allowing for interrupts using logical destination mode on a virtual machine having a plurality of virtual cores that is greater than eight. The method further includes, associating each of the plurality of virtual cores with an N-bit identifier formatted to be one of 2N different values. The method further includes, with the hypervisor, in response to receiving an interrupt for the virtual machine, determining to which of the plurality of virtual cores the interrupt should be sent based on at least a subset of bits in a destination address of the interrupt.
    Type: Application
    Filed: January 30, 2020
    Publication date: August 5, 2021
    Inventor: Bandan Das
  • Publication number: 20210173684
    Abstract: A method performed by a physical computing system includes, with a hypervisor, determining a first time difference between when pause exiting was last enabled for the virtual machine and present time. The method further includes, with the hypervisor, in response to determining that the first time difference is greater than an enablement threshold, enabling pause exiting. The method further includes, with the hypervisor, with pause loop exiting enabled, determining a second time difference between when pause exiting was last disabled and the present time. The method further includes, with the hypervisor, disabling pause exiting in response to determining that the second time difference exceeds a disablement threshold.
    Type: Application
    Filed: December 5, 2019
    Publication date: June 10, 2021
    Inventors: Andrea Arcangeli, Bandan Das
  • Patent number: 11016796
    Abstract: A controller sandbox using an emulation framework of a hypervisor is disclosed. A hypervisor receives, from a task in a virtual machine that is controlled by the hypervisor in a computing device on which the hypervisor executes, a first implement device command request that requests that a first device command be implemented on a controllable device communicatively connected to the computing device via an interface. The hypervisor determines that the first device command is on an authorized device command list. Based on determining that the first device command is on the authorized device command list, the hypervisor communicates a signal to the controllable device to implement the first device command.
    Type: Grant
    Filed: April 10, 2019
    Date of Patent: May 25, 2021
    Assignee: Red Hat, Inc.
    Inventor: Bandan Das
  • Publication number: 20210124662
    Abstract: Controlled use of a memory monitor instruction and memory wait instruction in a virtualized environment. A hypervisor executing on a computing host determines that a first process executing in a virtual machine (VM) attempted to execute a memory monitor instruction. The hypervisor determines a memory range associated with the memory monitor instruction. A virtual machine control structure that corresponds to the VM is altered to prevent a virtual machine exit upon a subsequent execution of a memory wait instruction by the first process. The hypervisor executes the memory monitor instruction to cause the memory range to be monitored for a store command to the memory range. The hypervisor returns control to the first process to begin execution at an instruction after the memory monitor instruction.
    Type: Application
    Filed: October 25, 2019
    Publication date: April 29, 2021
    Inventors: Bandan Das, Karen L. Noel
  • Publication number: 20210124601
    Abstract: Implementing high-performance virtual machines for bare metal simulation is disclosed. A hypervisor executing on a host computer receives a request to initiate a high-performance (HP) virtual machine (VM). The hypervisor selects, based on the request, a HP virtual machine exit (VMEXIT) configuration from a plurality of different VMEXIT configurations. Each respective VMEXIT configuration of the plurality of different VMEXIT configurations identifies VMEXIT behavior in response to a task executing in a VM having a virtual machine control structure (VMCS) generated based on the respective VMEXIT configuration. The hypervisor generates a HP VMCS for the HP VM based on the HP VMEXIT configuration, the HP VMCS controlling the VMEXIT behavior in response to a task executing in the HP VM. The hypervisor initiates the HP VM.
    Type: Application
    Filed: October 23, 2019
    Publication date: April 29, 2021
    Inventor: Bandan Das
  • Publication number: 20210096896
    Abstract: Processor core power management in a virtualized environment. A hypervisor, executing on a processor device of a computing host, the processor device having a plurality of processor cores, receives from a guest operating system of a virtual machine, a request to set a virtual central processing unit (VCPU) of the virtual machine to a first requested P-state level of a plurality of P-state levels. Based on the request, the hypervisor associates the VCPU with a first processor core having a P-state that corresponds to the first requested P-state level.
    Type: Application
    Filed: September 27, 2019
    Publication date: April 1, 2021
    Inventor: Bandan Das
  • Publication number: 20210064252
    Abstract: Inhibiting memory accesses to executable modules. A hypervisor executing on a computing host initiates a virtual machine comprising a guest operating system. The hypervisor receives a communication from the guest operating system requesting that a range of memory utilized by the guest operating system be identified as being execute-only access. The hypervisor marks at least one physical page of memory that includes the range of memory as being execute-only access.
    Type: Application
    Filed: August 27, 2019
    Publication date: March 4, 2021
    Inventor: Bandan Das
  • Patent number: 10853259
    Abstract: A system and method of exitless extended page table switching includes a nested hypervisor writing pointer addresses to an extended page table list, where each pointer address is associated with an extended page table. The host hypervisor verifies that each pointer address corresponds to a guest physical address for one of the extended page tables. The host hypervisor then creates shadow extended page tables, each of which includes a shadow pointer address corresponding to a host physical address, writes, in a local page table list, each shadow pointer address and an index of each shadow extended page table, and loads the local page table list. The nested guest requests to switch between two extended page tables. The nested guest then identifies a matching entry for an extended page table in the local page table list and switches to the extended page table without triggering an exit.
    Type: Grant
    Filed: December 29, 2017
    Date of Patent: December 1, 2020
    Assignee: RED HAT, INC.
    Inventor: Bandan Das
  • Publication number: 20200326962
    Abstract: A controller sandbox using an emulation framework of a hypervisor is disclosed. A hypervisor receives, from a task in a virtual machine that is controlled by the hypervisor in a computing device on which the hypervisor executes, a first implement device command request that requests that a first device command be implemented on a controllable device communicatively connected to the computing device via an interface. The hypervisor determines that the first device command is on an authorized device command list. Based on determining that the first device command is on the authorized device command list, the hypervisor communicates a signal to the controllable device to implement the first device command.
    Type: Application
    Filed: April 10, 2019
    Publication date: October 15, 2020
    Inventor: Bandan Das