IP Library Granted Patent US 7,290,076
Granted Patent B2
US 7,290,076 · App. 11/107,563 · Granted Oct 30, 2007

Optmizing an interrupt-latency or a polling rate for a hardware platform and network profile combination by adjusting current timer values for both receive and transmit directions of traffic and calculating a new timer value to be used for both receive and transmit directions of traffic

Assignee: Intel Corporation
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,290,076
App. No.
11/107,563
Granted
Oct 30, 2007
Kind
B2
Abstract

Provided are techniques for determining a timer value. An advised number of packets per interrupt for both receive and transmit directions of traffic is determined. Current timer values for both receive and transmit directions of traffic are adjusted based on the determined advised numbers of packets per interrupt. A new timer value to be used for both receive and transmit directions of traffic is calculated. Other embodiments are described and claimed.

Claims (50)

1. A method capable of determining a timer value, comprising:

determining an advised number of packets per interrupt for both receive and transmit directions of traffic;

adjusting current timer values for both receive and transmit directions of traffic based on the determined advised numbers of packets per interrupt; and

calculating a new timer value to be used for both receive and transmit directions of traffic based on the adjusted current timer values.

2. The method of claim 1 , further comprising:

collecting runtime parameters from both receive and transmit directions of traffic.

3. The method of claim 2 , further comprising:

a runtime network core coupled to a network adapter, wherein the runtime network core is operable to collect runtime parameters and to set a timer with the new timer value.

4. The method of claim 1 , further comprising:

computing statistical parameters for both receive and transmit directions of traffic.

5. The method of claim 4 , further comprising:

a statistics processing module coupled to a network adapter, wherein the statistics processing module is operable to compute the statistical parameters.

6. The method of claim 1 , wherein determining the advised number of packets per interrupt for each direction of traffic farther comprises:

multiplying a measured traffic rate by a negotiated link speed to generate a first value;

calculating a function over a measured average packet size to generate a second value; dividing the first value by the second value to generate a third value; and multiplying the third value by a constant.

7. The method of claim 1 , wherein adjusting the current timer values for each direction of traffic further comprises:

dividing an advised number of packets per interrupt for that direction of traffic by an average number of packets per interrupt to generate a first value; and

multiplying an old timer value by the first value.

8. The method of claim 1 , wherein the current timer values comprise a transmit timer value and a receive timer value and wherein calculating the new timer value further comprises:

multiplying the transmit timer value by a transmit link utilization value to generate a first value;

multiplying the receive timer value by a receive link utilization value to generate a second value;

adding the first value and the second value to generate a third value;

adding the transmit link utilization and the receive link utilization to generate a fourth value; and

dividing the third value by the fourth value.

9. The method of claim 1 , further comprising:

setting a timer with the new timer value, wherein interrupts are fired based on the new timer value.

10. The method of claim 1 , further comprising:

a dynamic tuning module coupled to a network adapter, wherein the dynamic tuning module is operable to determine the advised number of packets per interrupt, to adjust the current timer values, and to calculate the new timer value.

11. An article of manufacture, wherein the article of manufacture comprises a computer readable medium storing instructions, and wherein the article of manufacture is operable to:

determine an advised number of packets per interrupt for both receive and transmit directions of traffic;

adjust current timer values for both receive and transmit directions of traffic based on the determined advised numbers of packets per interrupt; and

calculate a new timer value to be used for both receive and transmit directions of traffic based on the adjusted current timer values.

12. The article of manufacture of claim 11 , wherein the article of manufacture is operable to:

collect runtime parameters from both receive and transmit directions of traffic.

13. The article of manufacture of claim 11 , wherein the article of manufacture is operable to:

compute statistical parameters for both receive and transmit directions of traffic.

14. The article of manufacture of claim 11 , wherein for the instructions for determining the advised number of packets per interrupt for each direction of traffic, the article of manufacture is operable to:

multiply a measured traffic rate by a negotiated link speed to generate a first value;

calculate a function over a measured average packet size to generate a second value; divide the first value by the second value to generate a third value; and multiply the third value by a constant.

15. The article of manufacture of claim 11 , wherein for the instructions for adjusting the current timer values for each direction of traffic, the article of manufacture is operable to:

divide an advised number of packets per interrupt for that direction of traffic by an average number of packets per interrupt to generate a first value; and

multiply an old timer value by the first value.

16. The article of manufacture of claim 11 , wherein the current timer values comprise a transmit timer value and a receive timer value and wherein for the instructions for calculating the new timer value, the article of manufacture is operable to:

multiply the transmit timer value by a transmit link utilization value to generate a first value;

multiply the receive timer value by a receive link utilization value to generate a second value;

add the first value and the second value to generate a third value;

add the transmit link utilization and the receive link utilization to generate a fourth value; and

divide the third value by the fourth value.

17. The article of manufacture of claim 11 , wherein the article of manufacture is operable to:

set a timer with the new timer value, wherein interrupts are fired based on the new timer value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2005
From: VALENCI, MOSHE
To: INTEL CORPORATION
Reel/Frame 016846/0219 →
Continuity (1)
Related Publication 20060236002A1 · Oct 19, 2006