aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/sfc
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2012-02-28 13:44:13 -0500
committerBen Hutchings <bhutchings@solarflare.com>2012-03-06 13:14:14 -0500
commite7bed9c8838c09518c02ea1a2ee74569836065ea (patch)
treefcb52b937ed7fafb56bd466f75dcc7fac84f44c8 /drivers/net/ethernet/sfc
parent61321d92fc3d89fea0a4deb83db4acb0a3dcda07 (diff)
sfc: Remove TX completions from adaptive IRQ scoring
RX and TX completions on the same event queue are generally not associated with the same flows. The inclusion of TX completions in the adaptive IRQ score is more of a source of noise rather than useful feedback. Therefore, do not include them in the score, and adjust the default threshold scores down. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Diffstat (limited to 'drivers/net/ethernet/sfc')
-rw-r--r--drivers/net/ethernet/sfc/efx.c4
-rw-r--r--drivers/net/ethernet/sfc/nic.c1
2 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/ethernet/sfc/efx.c b/drivers/net/ethernet/sfc/efx.c
index 1908ba7ca7e6..00e13ab080e6 100644
--- a/drivers/net/ethernet/sfc/efx.c
+++ b/drivers/net/ethernet/sfc/efx.c
@@ -163,12 +163,12 @@ static int phy_flash_cfg;
163module_param(phy_flash_cfg, int, 0644); 163module_param(phy_flash_cfg, int, 0644);
164MODULE_PARM_DESC(phy_flash_cfg, "Set PHYs into reflash mode initially"); 164MODULE_PARM_DESC(phy_flash_cfg, "Set PHYs into reflash mode initially");
165 165
166static unsigned irq_adapt_low_thresh = 10000; 166static unsigned irq_adapt_low_thresh = 8000;
167module_param(irq_adapt_low_thresh, uint, 0644); 167module_param(irq_adapt_low_thresh, uint, 0644);
168MODULE_PARM_DESC(irq_adapt_low_thresh, 168MODULE_PARM_DESC(irq_adapt_low_thresh,
169 "Threshold score for reducing IRQ moderation"); 169 "Threshold score for reducing IRQ moderation");
170 170
171static unsigned irq_adapt_high_thresh = 20000; 171static unsigned irq_adapt_high_thresh = 16000;
172module_param(irq_adapt_high_thresh, uint, 0644); 172module_param(irq_adapt_high_thresh, uint, 0644);
173MODULE_PARM_DESC(irq_adapt_high_thresh, 173MODULE_PARM_DESC(irq_adapt_high_thresh,
174 "Threshold score for increasing IRQ moderation"); 174 "Threshold score for increasing IRQ moderation");
diff --git a/drivers/net/ethernet/sfc/nic.c b/drivers/net/ethernet/sfc/nic.c
index 2bf4283f05fe..5da8af5e7501 100644
--- a/drivers/net/ethernet/sfc/nic.c
+++ b/drivers/net/ethernet/sfc/nic.c
@@ -822,7 +822,6 @@ efx_handle_tx_event(struct efx_channel *channel, efx_qword_t *event)
822 channel, tx_ev_q_label % EFX_TXQ_TYPES); 822 channel, tx_ev_q_label % EFX_TXQ_TYPES);
823 tx_packets = ((tx_ev_desc_ptr - tx_queue->read_count) & 823 tx_packets = ((tx_ev_desc_ptr - tx_queue->read_count) &
824 tx_queue->ptr_mask); 824 tx_queue->ptr_mask);
825 channel->irq_mod_score += tx_packets;
826 efx_xmit_done(tx_queue, tx_ev_desc_ptr); 825 efx_xmit_done(tx_queue, tx_ev_desc_ptr);
827 } else if (EFX_QWORD_FIELD(*event, FSF_AZ_TX_EV_WQ_FF_FULL)) { 826 } else if (EFX_QWORD_FIELD(*event, FSF_AZ_TX_EV_WQ_FF_FULL)) {
828 /* Rewrite the FIFO write pointer */ 827 /* Rewrite the FIFO write pointer */