diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2011-08-15 10:07:47 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-08-16 19:36:14 -0400 |
commit | 2d7c79390eccd743a643db3fa577f4837e7f2b85 (patch) | |
tree | 9c13001aac43a3f3de9e9d60778968faf56a92b5 /include/linux/ethtool.h | |
parent | 725b361b29ba9fb72705a30743d288ee66055209 (diff) |
ethtool: Correct description of 'max_coalesced_frames' fields
The current descriptions state that these fields specify 'How many
packets to delay ... after a packet ...' which implies that the
hardware should wait for (max_coalesced_frames + 1) completions before
generating an interrupt. It is also stated that setting both this
field and the corresponding 'coalesce_usecs' field to 0 is invalid.
Together, this implies that the hardware must always be configured
to delay a completion IRQ for at least 1 usec or 1 more completion.
I believe that the addition of 1 is not intended, and David Miller
confirms that the original implementation (in tg3) does not do this.
Clarify the descriptions of these fields to avoid this interpretation.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/ethtool.h')
-rw-r--r-- | include/linux/ethtool.h | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h index 71d45a199f96..18059ca41f09 100644 --- a/include/linux/ethtool.h +++ b/include/linux/ethtool.h | |||
@@ -122,8 +122,8 @@ struct ethtool_eeprom { | |||
122 | * @cmd: ETHTOOL_{G,S}COALESCE | 122 | * @cmd: ETHTOOL_{G,S}COALESCE |
123 | * @rx_coalesce_usecs: How many usecs to delay an RX interrupt after | 123 | * @rx_coalesce_usecs: How many usecs to delay an RX interrupt after |
124 | * a packet arrives. If 0, only @rx_max_coalesced_frames is used. | 124 | * a packet arrives. If 0, only @rx_max_coalesced_frames is used. |
125 | * @rx_max_coalesced_frames: How many packets to delay an RX interrupt | 125 | * @rx_max_coalesced_frames: Maximum number of packets to receive |
126 | * after a packet arrives. If 0, only @rx_coalesce_usecs is used. | 126 | * before an RX interrupt. If 0, only @rx_coalesce_usecs is used. |
127 | * @rx_coalesce_usecs_irq: Same as @rx_coalesce_usecs, except that | 127 | * @rx_coalesce_usecs_irq: Same as @rx_coalesce_usecs, except that |
128 | * this value applies while an IRQ is being serviced by the host. | 128 | * this value applies while an IRQ is being serviced by the host. |
129 | * @rx_max_coalesced_frames_irq: Same as @rx_max_coalesced_frames, | 129 | * @rx_max_coalesced_frames_irq: Same as @rx_max_coalesced_frames, |
@@ -132,9 +132,9 @@ struct ethtool_eeprom { | |||
132 | * @tx_coalesce_usecs: How many usecs to delay a TX interrupt after | 132 | * @tx_coalesce_usecs: How many usecs to delay a TX interrupt after |
133 | * a packet is sent. If 0, only @tx_max_coalesced_frames | 133 | * a packet is sent. If 0, only @tx_max_coalesced_frames |
134 | * is used. | 134 | * is used. |
135 | * @tx_max_coalesced_frames: How many packets to delay a TX interrupt | 135 | * @tx_max_coalesced_frames: Maximum number of packets to be sent |
136 | * after a packet is sent. If 0, only @tx_coalesce_usecs is | 136 | * before a TX interrupt. If 0, only @tx_coalesce_usecs is |
137 | * used. | 137 | * used. |
138 | * @tx_coalesce_usecs_irq: Same as @tx_coalesce_usecs, except that | 138 | * @tx_coalesce_usecs_irq: Same as @tx_coalesce_usecs, except that |
139 | * this value applies while an IRQ is being serviced by the host. | 139 | * this value applies while an IRQ is being serviced by the host. |
140 | * @tx_max_coalesced_frames_irq: Same as @tx_max_coalesced_frames, | 140 | * @tx_max_coalesced_frames_irq: Same as @tx_max_coalesced_frames, |
@@ -149,21 +149,21 @@ struct ethtool_eeprom { | |||
149 | * @pkt_rate_low: Threshold for low packet rate (packets per second). | 149 | * @pkt_rate_low: Threshold for low packet rate (packets per second). |
150 | * @rx_coalesce_usecs_low: How many usecs to delay an RX interrupt after | 150 | * @rx_coalesce_usecs_low: How many usecs to delay an RX interrupt after |
151 | * a packet arrives, when the packet rate is below @pkt_rate_low. | 151 | * a packet arrives, when the packet rate is below @pkt_rate_low. |
152 | * @rx_max_coalesced_frames_low: How many packets to delay an RX interrupt | 152 | * @rx_max_coalesced_frames_low: Maximum number of packets to be received |
153 | * after a packet arrives, when the packet rate is below @pkt_rate_low. | 153 | * before an RX interrupt, when the packet rate is below @pkt_rate_low. |
154 | * @tx_coalesce_usecs_low: How many usecs to delay a TX interrupt after | 154 | * @tx_coalesce_usecs_low: How many usecs to delay a TX interrupt after |
155 | * a packet is sent, when the packet rate is below @pkt_rate_low. | 155 | * a packet is sent, when the packet rate is below @pkt_rate_low. |
156 | * @tx_max_coalesced_frames_low: How many packets to delay a TX interrupt | 156 | * @tx_max_coalesced_frames_low: Maximum nuumber of packets to be sent before |
157 | * after a packet is sent, when the packet rate is below @pkt_rate_low. | 157 | * a TX interrupt, when the packet rate is below @pkt_rate_low. |
158 | * @pkt_rate_high: Threshold for high packet rate (packets per second). | 158 | * @pkt_rate_high: Threshold for high packet rate (packets per second). |
159 | * @rx_coalesce_usecs_high: How many usecs to delay an RX interrupt after | 159 | * @rx_coalesce_usecs_high: How many usecs to delay an RX interrupt after |
160 | * a packet arrives, when the packet rate is above @pkt_rate_high. | 160 | * a packet arrives, when the packet rate is above @pkt_rate_high. |
161 | * @rx_max_coalesced_frames_high: How many packets to delay an RX interrupt | 161 | * @rx_max_coalesced_frames_high: Maximum number of packets to be received |
162 | * after a packet arrives, when the packet rate is above @pkt_rate_high. | 162 | * before an RX interrupt, when the packet rate is above @pkt_rate_high. |
163 | * @tx_coalesce_usecs_high: How many usecs to delay a TX interrupt after | 163 | * @tx_coalesce_usecs_high: How many usecs to delay a TX interrupt after |
164 | * a packet is sent, when the packet rate is above @pkt_rate_high. | 164 | * a packet is sent, when the packet rate is above @pkt_rate_high. |
165 | * @tx_max_coalesced_frames_high: How many packets to delay a TX interrupt | 165 | * @tx_max_coalesced_frames_high: Maximum number of packets to be sent before |
166 | * after a packet is sent, when the packet rate is above @pkt_rate_high. | 166 | * a TX interrupt, when the packet rate is above @pkt_rate_high. |
167 | * @rate_sample_interval: How often to do adaptive coalescing packet rate | 167 | * @rate_sample_interval: How often to do adaptive coalescing packet rate |
168 | * sampling, measured in seconds. Must not be zero. | 168 | * sampling, measured in seconds. Must not be zero. |
169 | * | 169 | * |