IP Library Granted Patent US 7,430,211
Granted Patent B2
US 7,430,211 · App. 10/688,373 · Granted Sep 30, 2008

System and method for receive queue provisioning

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 7,430,211
App. No.
10/688,373
Granted
Sep 30, 2008
Kind
B2
Abstract

Systems and methods that provide receive queue provisioning are provided. In one embodiment, a communications system may include, for example, a first queue pair (QP), a second QP, a general pool and a resource manager. The first QP may be associated with a first connection and with at least one of a first limit value and an out-of-order threshold. The first QP may include, for example, a first send queue (SQ). The second QP may be associated with a second connection and with a second limit value. The second QP may include, for example, a second SQ. The general pool may include, for example, a shared receive queue (SRQ) that is shared by the first QP and the second QP. The resource manager may provide, for example, provisioning for the SRQ and may manage the first limit value and the second limit value.

Claims (65)

1. A communications system, comprising:

a first queue pair (QP) associated with a first connection;

a second QP associated with a second connection;

a shared receive queue (SRQ) shared by the first QP and the second QP; and

a watermark indicating a low level of work queue elements (WQEs) on the SRQ,

wherein an out-of-order WQE limit is associated with the SRQ.

2. The communications system according to claim 1 , wherein, if a number of WQEs on the SRQ drops below the watermark, then an asynchronous event is generated.

3. The communications system according to claim 2 , wherein the asynchronous event notifies at least one of an upper layer protocol (ULP) layer, a buffer manager, and any part of a consumer that the number of WQEs on the SRQ has dropped below the watermark.

4. The communications system according to claim 2 , wherein at least one of an ULP layer, a buffer manager, and any part of a consumer analyzes completions posted on a shared completion queue (SCQ) shared by the first QP and the second QP.

5. The communications system according to claim 4 , wherein the ULP layer determines which of the first QP or the second QP is transporting excessive traffic or offending traffic.

6. The communications system according to claim 1 , comprising:

a manager that provides statistical provisioning for the SRQ.

7. The communications system according to claim 6 ,

wherein an incoming message is received by the first QP,

wherein at least one of the first QP and the manager determines a number of resources to request for the first QP, and

wherein at least one of the first QP and the resource manager determines whether the first QP is allowed to draw any resources from the SRQ.

8. The communications system according to claim 1 , wherein the first QP and the second QP are part of a particular node.

9. A communications system, comprising:

a first queue pair (QP) associated with a first connection;

a second QP associated with a second connection;

a shared receive queue (SRQ) shared by the first QP and the second QP; and

a watermark indicating a low level of work queue elements (WQEs) on the SRQ,

wherein a first out-of-order WQE limit is associated with the first QP, and

wherein a second out-of-order WQE limit is associated with the second QP.

10. The communications system according to claim 9 , wherein, if a number of WQEs on the SRQ drops below the watermark, then an asynchronous event is generated.

11. The communications system according to claim 10 , wherein the asynchronous event notifies at least one of an upper layer protocol (ULP) layer, a buffer manager, and any part of a consumer that the number of WQEs on the SRQ has dropped below the watermark.

12. The communications system according to claim 10 , wherein at least one of an ULP layer, a buffer manager, and any part of a consumer analyzes completions posted on a shared completion queue (SCQ) shared by the first QP and the second QP.

13. The communications system according to claim 12 , wherein the ULP layer determines which of the first QP or the second QP is transporting excessive traffic or offending traffic.

14. The communications system according to claim 9 , comprising:

a manager that provides statistical provisioning for the SRQ.

15. The communications system according to claim 14 , wherein the first QP and the second QP are part of a particular node.

16. The communications system according to claim 14 ,

wherein an incoming message is received by the first QP,

wherein at least one of the first QP and the manager determines a number of resources to request for the first QP, and

wherein at least one of the first QP and the resource manager determines whether the first QP is allowed to draw any resources from the SRQ.

17. A method for communications. comprising:

sharing a receive queue (RQ) between a first queue pair (QP) associated with a first connection and a second QP associated with a second connection;

setting a threshold that is associated with the shared RQ and is indicative of a particular number of work queue elements (WQEs) on the shared RQ;

generating an asynchronous event if the threshold is reached; and

setting an out-of-order WQE limit for the shared RQ.

18. The method according to claim 17 , comprising:

analyzing completions on a completion queue (CQ) to determine if either the first QP or the second QP is draining the WQEs on the shared RQ.

19. The method according to claim 18 , wherein the CQ comprises at least one of a dedicated CQ and a shared completion queue (SCQ).

20. The method according to claim 17 , comprising:

dropping a WQE holding an out-of-order message from the SRQ upon reaching a particular watermark.

21. A method for communications, comprising:

sharing a receive queue (RQ) between a first queue pair (QP) associated with a first connection and a second QP associated with a second connection;

setting a threshold that is associated with the shared RQ and is indicative of a particular number of work queue elements (WQEs) on the shared RQ;

generating an asynchronous event if the threshold is reached; and

setting a first out-of-order WQE limit for the first QP.

22. The method according to claim 21 , comprising:

analyzing completions on a completion queue (CQ) to determine if either the first QP or the second QP is draining the WQEs on the shared RQ.

23. The method according to claim 22 , wherein the CQ comprises at least one of a dedicated CQ and a shared completion queue (SCQ).

24. The method according to claim 21 , comprising:

dropping a WQE holding an out-of-order message from the SRQ upon reaching a particular watermark.

25. A method for communications, comprising:

sharing a receive queue (RQ) between a first queue pair (QP) associated with a first connection and a second QP associated with a second connection;

setting a threshold that is associated with the shared RQ and is indicative of a particular number of work queue elements (WQEs) on the shared RQ;

generating an asynchronous event if the threshold is reached; and

setting an out-of-order WQE limit which is part of another local limit.

26. The method according to claim 25 , comprising:

analyzing completions on a completion queue (CQ) to determine if either the first QP or the second QP is draining the WQEs on the shared RQ.

27. The method according to claim 26 , wherein the CQ comprises at least one of a dedicated CQ and a shared completion queue (SCQ).

28. The method according to claim 25 , comprising:

dropping a WQE holding an out-of-order message from the SRQ upon reaching a particular watermark.

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2004
From: ELZUR, URI
To: BROADCOM CORPORATION
Reel/Frame 014309/0859 →