diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2009-03-20 09:30:37 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-03-21 22:06:58 -0400 |
commit | 6fb70fd1b57707a5c7b9fb167b7790b2cba13f04 (patch) | |
tree | 311192bd4de07e1da571f1a6ac6a3ad123ab3f50 /drivers/net/sfc/efx.h | |
parent | 85451a951b9511605475fadcc0a8d3aeccefded8 (diff) |
sfc: Implement adaptive IRQ moderation
Calculate a score for each 1000 IRQs:
- TX completions are worth 1 point
- RX completions are worth 4 if merged using LRO or 2 otherwise
Reduce moderation if the score is less than 10000, down to a minimum
of 5 us. Increase moderation if the score is more than 20000, up to
the specified maximum.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc/efx.h')
-rw-r--r-- | drivers/net/sfc/efx.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/sfc/efx.h b/drivers/net/sfc/efx.h index 8bde1d2a21db..da157aa74b83 100644 --- a/drivers/net/sfc/efx.h +++ b/drivers/net/sfc/efx.h | |||
@@ -52,7 +52,7 @@ extern void efx_schedule_reset(struct efx_nic *efx, enum reset_type type); | |||
52 | extern void efx_suspend(struct efx_nic *efx); | 52 | extern void efx_suspend(struct efx_nic *efx); |
53 | extern void efx_resume(struct efx_nic *efx); | 53 | extern void efx_resume(struct efx_nic *efx); |
54 | extern void efx_init_irq_moderation(struct efx_nic *efx, int tx_usecs, | 54 | extern void efx_init_irq_moderation(struct efx_nic *efx, int tx_usecs, |
55 | int rx_usecs); | 55 | int rx_usecs, bool rx_adaptive); |
56 | extern int efx_request_power(struct efx_nic *efx, int mw, const char *name); | 56 | extern int efx_request_power(struct efx_nic *efx, int mw, const char *name); |
57 | extern void efx_hex_dump(const u8 *, unsigned int, const char *); | 57 | extern void efx_hex_dump(const u8 *, unsigned int, const char *); |
58 | 58 | ||