IP Library › Granted Patent US 8,924,501
Granted Patent B2
US 8,924,501 · App. 13/308,487 · Granted Dec 30, 2014

Application-driven shared device queue polling

Inventor: Michael Tsirkin (Yokneam Yillit, IL)
Assignee: Red Hat Israel, Ltd.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,924,501
App. No.
13/308,487
Granted
Dec 30, 2014
Kind
B2
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.

Claims (47)

1. A method comprising:

receiving a request initiated by an application, the request identifying a socket associated with the application;

identifying a shared queue associated with the socket, wherein the shared queue is shared by the socket with another socket, wherein the request comprises a threshold value associated with the shared queue;

polling, by a processing device, the shared queue;

identifying a message stored in the shared queue; and

determining whether the message is associated with the socket.

2. The method of claim 1 , further comprising disabling polling of the shared queue responsive to determining that the threshold value has been met or exceeded.

3. The method of claim 1 , wherein the threshold value represents a time period for polling the shared queue.

4. The method of claim 1 , wherein the threshold value represents a data allowance limit for polling the shared queue.

5. The method of claim 1 , wherein the threshold value represents a time period in which the message is permitted to remain in the shared queue.

6. The method of claim 1 , wherein the threshold value represents a number of messages in the shared queue.

7. The method of claim 1 , wherein the polling of the shared queue for messages follows a determination that there are no messages in a memory buffer associated with the socket.

8. The method of claim 1 , further comprising disabling polling of the shared queue responsive to terminating the application.

9. The method of claim 1 , further comprising:

responsive to receiving the request, determining whether the message is stored in a memory buffer associated with the socket.

10. The method of claim 1 , wherein the shared queue is associated with two or more sockets.

11. A system, comprising:

a memory;

a processing device, coupled to the memory, the processing device to:

receive a request initiated by an application, the request identifying a socket associated with the application;

identify a shared queue associated with the socket, wherein the shared queue is shared by the socket with another socket, wherein the request comprises a threshold value associated with the shared queue;

enable polling of the shared queue;

identify a message stored in the shared queue; and

determine whether the message is associated with the socket.

12. The system of claim 11 , wherein the processing device is further to disable polling of the shared queue.

13. The system of claim 11 , wherein the threshold value represents a time period for polling the shared queue.

14. The system of claim 11 , wherein the threshold value represents a data allowance limit for polling the shared queue.

15. The system of claim 11 , wherein the threshold value represents a time period in which the message is permitted to remain in the shared queue.

16. The system of claim 11 , wherein the threshold value represents a number of messages in the shared queue.

17. The system of claim 11 , wherein the polling of the shared queue for messages follows a determination that there are no messages in a memory buffer associated with the socket.

18. The system of claim 11 , wherein the processing device is further to disable polling of the shared queue responsive to terminating the application.

19. The system of claim 11 , wherein the processing device is further to: responsive to receiving the request, determine whether the message is stored in a memory buffer associated with the socket.

20. The system of claim 11 , wherein the shared queue is associated with two or more sockets.

21. A non-transitory computer-readable storage medium programmed to comprise instructions that, when executed by a processing device, cause the processing device to perform operations, comprising:

receiving a request initiated by an application, the request identifying a socket associated with the application,

identifying a shared queue associated with the socket, wherein the shared queue is shared by the socket with another socket, wherein the request comprises a threshold value associated with the shared queue;

polling the shared queue;

identifying a message stored in the shared queue; and

determining whether the message is associated with the socket.

22. The non-transitory computer-readable storage medium of claim 21 , further comprising executable instruction causing the processing device to disable polling of the shared queue.

23. The non-transitory computer-readable storage medium of claim 21 , wherein the threshold value represents a time period for polling the shared device queue.

24. The non-transitory computer-readable storage medium of claim 21 , wherein the threshold value represents a data allowance limit for polling the shared device queue.

25. The non-transitory computer-readable storage medium of claim 21 , wherein the threshold value represents a time period in which the message is permitted to remain in the shared queue.

26. The non-transitory computer-readable storage medium of claim 21 , wherein the threshold value represents a number of messages in the shared queue.

27. The non-transitory computer-readable storage medium of claim 21 , wherein the polling of the shared queue for messages follows a determination that there are no messages in a memory buffer associated with the socket.

28. The non-transitory computer-readable storage medium of claim 21 , further comprising executable instruction causing the processing device to disable polling of the shared queue responsive to terminating the application.

29. The non-transitory computer-readable storage medium of claim 21 , further comprising executable instruction causing the processing device to determine, responsive to receiving the request, whether the message is stored in a memory buffer associated with the socket.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2011
From: TSIRKIN, MICHAEL
To: RED HAT ISRAEL, LTD.
Reel/Frame 027310/0184 →
Continuity (1)
Related Publication 20130138760A1 · May 30, 2013