diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2008-07-08 18:14:44 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-07-11 01:20:33 -0400 |
commit | 6eb5a7f1dbd56883680290f6a0bd2d8d15f8ff58 (patch) | |
tree | ee4b0be39dba02863ae3e260b2b8c210e7535929 /drivers/net/igb/igb.h | |
parent | 9280fa5201d7f69b20af4b7efadb5fe8f2f67277 (diff) |
igb: Improve multiqueue AIM support
Improve multiqueue performance
Change itr_val to reflect ITR timer value instead of ints/sec
Cleaned up AIM algorithms in general
Based on work by Mitch Williams
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Acked-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/net/igb/igb.h')
-rw-r--r-- | drivers/net/igb/igb.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/igb/igb.h b/drivers/net/igb/igb.h index c25ca17d3228..56de7ec15b46 100644 --- a/drivers/net/igb/igb.h +++ b/drivers/net/igb/igb.h | |||
@@ -47,7 +47,9 @@ struct igb_adapter; | |||
47 | 47 | ||
48 | #define IGB_MIN_DYN_ITR 3000 | 48 | #define IGB_MIN_DYN_ITR 3000 |
49 | #define IGB_MAX_DYN_ITR 96000 | 49 | #define IGB_MAX_DYN_ITR 96000 |
50 | #define IGB_START_ITR 6000 | 50 | |
51 | /* ((1000000000ns / (6000ints/s * 1024ns)) << 2 = 648 */ | ||
52 | #define IGB_START_ITR 648 | ||
51 | 53 | ||
52 | #define IGB_DYN_ITR_PACKET_THRESHOLD 2 | 54 | #define IGB_DYN_ITR_PACKET_THRESHOLD 2 |
53 | #define IGB_DYN_ITR_LENGTH_LOW 200 | 55 | #define IGB_DYN_ITR_LENGTH_LOW 200 |
@@ -170,9 +172,10 @@ struct igb_ring { | |||
170 | }; | 172 | }; |
171 | /* RX */ | 173 | /* RX */ |
172 | struct { | 174 | struct { |
173 | int no_itr_adjust; | ||
174 | struct igb_queue_stats rx_stats; | 175 | struct igb_queue_stats rx_stats; |
175 | struct napi_struct napi; | 176 | struct napi_struct napi; |
177 | int set_itr; | ||
178 | struct igb_ring *buddy; | ||
176 | #ifdef CONFIG_IGB_LRO | 179 | #ifdef CONFIG_IGB_LRO |
177 | struct net_lro_mgr lro_mgr; | 180 | struct net_lro_mgr lro_mgr; |
178 | bool lro_used; | 181 | bool lro_used; |
@@ -219,7 +222,6 @@ struct igb_adapter { | |||
219 | u32 itr_setting; | 222 | u32 itr_setting; |
220 | u16 tx_itr; | 223 | u16 tx_itr; |
221 | u16 rx_itr; | 224 | u16 rx_itr; |
222 | int set_itr; | ||
223 | 225 | ||
224 | struct work_struct reset_task; | 226 | struct work_struct reset_task; |
225 | struct work_struct watchdog_task; | 227 | struct work_struct watchdog_task; |