APPLICATION-DRIVEN SHARED DEVICE QUEUE POLLING IN A VIRTUALIZED COMPUTING ENVIRONMENT
First Claim
1. A computer-implemented method for application-driven polling in a virtualized computing environment, said method comprising:
- engaging a hypervisor to process a request at a host operating system, said request received from an application, identifying one or more sockets associated with said application, and providing instructions to poll for messages;
in response to said request, determining if at least one message, having an association with at least one of said sockets associated with said application, is stored in a memory space associated with said host operating system, wherein said at least one message when stored in said memory space is to be passed to said application via said hypervisor;
identifying one or more shared device queues of at least one device having previously stored messages for at least one of said sockets associated with said application;
transmitting instructions to said at least one device to enable polling of said identified one or more shared device queues;
in response to said instructions to enable polling, determining if at least one message is stored in said identified one or more shared device queues; and
determining if said at least one message has an association with at least one of said sockets associated with said application, wherein said at least one message when stored in said identified one or more shared device queues is to be passed to said application via said hypervisor.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems for application-driven polling of shared device queues are provided. One or more applications running in non-virtualized or virtualized computing environments may be adapted to enable methods for polling shared device queues. Applications adapted to operate in a polling mode may transmit a request to initiate polling of shared device queues, wherein operating in the polling mode disables corresponding device interrupts. Applications adapted to operate in a polling mode may be regulated by one or more predefined threshold limitations.
-
Citations
33 Claims
-
1. A computer-implemented method for application-driven polling in a virtualized computing environment, said method comprising:
-
engaging a hypervisor to process a request at a host operating system, said request received from an application, identifying one or more sockets associated with said application, and providing instructions to poll for messages; in response to said request, determining if at least one message, having an association with at least one of said sockets associated with said application, is stored in a memory space associated with said host operating system, wherein said at least one message when stored in said memory space is to be passed to said application via said hypervisor; identifying one or more shared device queues of at least one device having previously stored messages for at least one of said sockets associated with said application; transmitting instructions to said at least one device to enable polling of said identified one or more shared device queues; in response to said instructions to enable polling, determining if at least one message is stored in said identified one or more shared device queues; and determining if said at least one message has an association with at least one of said sockets associated with said application, wherein said at least one message when stored in said identified one or more shared device queues is to be passed to said application via said hypervisor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer system, comprising:
-
a memory; a processing device, coupled to said memory; and an operating system hosted by said computer system, having access to said memory and use of said processing device, said host operating system being in communication, via a hypervisor, with a guest operating system of a virtual machine, said host operating system configured to; engage a hypervisor to process a request at a host operating system, said request received from an application, identifying one or more sockets associated with said application, and providing instructions to poll for messages; in response to said request, determine if at least one message, having an association with at least one of said sockets associated with said application, is stored in a memory space associated with said host operating system, wherein said at least one message when stored in said memory space is to be passed to said application via said hypervisor; identify one or more shared device queues of at least one device having previously stored messages for at least one of said sockets associated with said application; transmit instructions to said at least one device to enable polling of said identified one or more shared device queues; in response to said instructions to enable polling, determine if at least one message is stored in said identified one or more shared device queues; and determine if said at least one message has an association with at least one of said sockets associated with said application, wherein said at least one message when stored in said identified one or more shared device queues is to be passed to said application via said hypervisor. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A non-transitory computer-readable storage medium programmed to include instructions that, when executed by a processing device, cause the processing device to perform a method for application-driven polling in a virtualized computing environment, said method comprising:
-
engaging a hypervisor to process a request at a host operating system, said request received from an application, identifying one or more sockets associated with said application, and providing instructions to poll for messages; in response to said request, determining if at least one message, having an association with at least one of said sockets associated with said application, is stored in a memory space associated with said host operating system, wherein said at least one message when stored in said memory space is to be passed to said application via said hypervisor; identifying one or more shared device queues of at least one device having previously stored messages for at least one of said sockets associated with said application; transmitting instructions to said at least one device to enable polling of said identified one or more shared device queues; in response to said instructions to enable polling, determining if at least one message is stored in said identified one or more shared device queues; and determining if said at least one message has an association with at least one of said sockets associated with said application, wherein said at least one message when stored in said identified one or more shared device queues is to be passed to said application via said hypervisor. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
Specification