All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 1/5] ethtool: Reformat struct ethtool_coalesce comments into kernel-doc format
@ 2011-08-16  0:06 Ben Hutchings
  2011-08-16  0:07 ` [PATCH net-next 2/5] ethtool: Specify what kind of coalescing struct ethtool_coalesce covers Ben Hutchings
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Ben Hutchings @ 2011-08-16  0:06 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Eli Cohen

This reorders and duplicates some wording, but should make no
substantive changes.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
---
 include/linux/ethtool.h |  135 ++++++++++++++++++++++-------------------------
 1 files changed, 64 insertions(+), 71 deletions(-)

diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
index c6e427a..be32dd0 100644
--- a/include/linux/ethtool.h
+++ b/include/linux/ethtool.h
@@ -117,99 +117,92 @@ struct ethtool_eeprom {
 	__u8	data[0];
 };
 
-/* for configuring coalescing parameters of chip */
+/**
+ * struct ethtool_coalesce - coalescing parameters of chip
+ * @cmd: ETHTOOL_{G,S}COALESCE
+ * @rx_coalesce_usecs: How many usecs to delay an RX interrupt after
+ *	a packet arrives.  If 0, only @rx_max_coalesced_frames is used.
+ * @rx_max_coalesced_frames: How many packets to delay an RX interrupt
+ *	after a packet arrives.  If 0, only @rx_coalesce_usecs is used.
+ * @rx_coalesce_usecs_irq: Same as @rx_coalesce_usecs, except that
+ *	this value applies while an IRQ is being serviced by the host.
+ * @rx_max_coalesced_frames_irq: Same as @rx_max_coalesced_frames,
+ *	except that this value applies while an IRQ is being serviced
+ *	by the host.
+ * @tx_coalesce_usecs: How many usecs to delay a TX interrupt after
+ *	a packet is sent.  If 0, only @tx_max_coalesced_frames
+ *	is used.
+ * @tx_max_coalesced_frames: How many packets to delay a TX interrupt
+ *	after a packet is sent.  If 0, only @tx_coalesce_usecs is
+ *	used.
+ * @tx_coalesce_usecs_irq: Same as @tx_coalesce_usecs, except that
+ *	this value applies while an IRQ is being serviced by the host.
+ * @tx_max_coalesced_frames_irq: Same as @tx_max_coalesced_frames,
+ *	except that this value applies while an IRQ is being serviced
+ *	by the host.
+ * @stats_block_coalesce_usecs: How many usecs to delay in-memory
+ *	statistics block updates.  Some drivers do not have an
+ *	in-memory statistic block, and in such cases this value is
+ *	ignored.  This value must not be zero.
+ * @use_adaptive_rx_coalesce: Enable adaptive RX coalescing.
+ * @use_adaptive_tx_coalesce: Enable adaptive TX coalescing.
+ * @pkt_rate_low: Threshold for low packet rate (packets per second).
+ * @rx_coalesce_usecs_low: How many usecs to delay an RX interrupt after
+ *	a packet arrives, when the packet rate is below @pkt_rate_low.
+ * @rx_max_coalesced_frames_low: How many packets to delay an RX interrupt
+ *	after a packet arrives, when the packet rate is below @pkt_rate_low.
+ * @tx_coalesce_usecs_low: How many usecs to delay a TX interrupt after
+ *	a packet is sent, when the packet rate is below @pkt_rate_low.
+ * @tx_max_coalesced_frames_low: How many packets to delay a TX interrupt
+ *	after a packet is sent, when the packet rate is below @pkt_rate_low.
+ * @pkt_rate_high: Threshold for high packet rate (packets per second).
+ * @rx_coalesce_usecs_high: How many usecs to delay an RX interrupt after
+ *	a packet arrives, when the packet rate is above @pkt_rate_high.
+ * @rx_max_coalesced_frames_high: How many packets to delay an RX interrupt
+ *	after a packet arrives, when the packet rate is above @pkt_rate_high.
+ * @tx_coalesce_usecs_high: How many usecs to delay a TX interrupt after
+ *	a packet is sent, when the packet rate is above @pkt_rate_high.
+ * @tx_max_coalesced_frames_high: How many packets to delay a TX interrupt
+ *	after a packet is sent, when the packet rate is above @pkt_rate_high.
+ * @rate_sample_interval: How often to do adaptive coalescing packet rate
+ *	sampling, measured in seconds.  Must not be zero.
+ *
+ * It is illegal to set both usecs and max frames to zero as this
+ * would cause interrupts to never be generated.
+ *
+ * Adaptive RX/TX coalescing is an algorithm implemented by some
+ * drivers to improve latency under low packet rates and improve
+ * throughput under high packet rates.  Some drivers only implement
+ * one of RX or TX adaptive coalescing.  Anything not implemented by
+ * the driver causes these values to be silently ignored.
+ *
+ * When the packet rate is below @pkt_rate_high but above
+ * @pkt_rate_low (both measured in packets per second) the
+ * normal {rx,tx}_* coalescing parameters are used.
+ */
 struct ethtool_coalesce {
-	__u32	cmd;	/* ETHTOOL_{G,S}COALESCE */
-
-	/* How many usecs to delay an RX interrupt after
-	 * a packet arrives.  If 0, only rx_max_coalesced_frames
-	 * is used.
-	 */
+	__u32	cmd;
 	__u32	rx_coalesce_usecs;
-
-	/* How many packets to delay an RX interrupt after
-	 * a packet arrives.  If 0, only rx_coalesce_usecs is
-	 * used.  It is illegal to set both usecs and max frames
-	 * to zero as this would cause RX interrupts to never be
-	 * generated.
-	 */
 	__u32	rx_max_coalesced_frames;
-
-	/* Same as above two parameters, except that these values
-	 * apply while an IRQ is being serviced by the host.  Not
-	 * all cards support this feature and the values are ignored
-	 * in that case.
-	 */
 	__u32	rx_coalesce_usecs_irq;
 	__u32	rx_max_coalesced_frames_irq;
-
-	/* How many usecs to delay a TX interrupt after
-	 * a packet is sent.  If 0, only tx_max_coalesced_frames
-	 * is used.
-	 */
 	__u32	tx_coalesce_usecs;
-
-	/* How many packets to delay a TX interrupt after
-	 * a packet is sent.  If 0, only tx_coalesce_usecs is
-	 * used.  It is illegal to set both usecs and max frames
-	 * to zero as this would cause TX interrupts to never be
-	 * generated.
-	 */
 	__u32	tx_max_coalesced_frames;
-
-	/* Same as above two parameters, except that these values
-	 * apply while an IRQ is being serviced by the host.  Not
-	 * all cards support this feature and the values are ignored
-	 * in that case.
-	 */
 	__u32	tx_coalesce_usecs_irq;
 	__u32	tx_max_coalesced_frames_irq;
-
-	/* How many usecs to delay in-memory statistics
-	 * block updates.  Some drivers do not have an in-memory
-	 * statistic block, and in such cases this value is ignored.
-	 * This value must not be zero.
-	 */
 	__u32	stats_block_coalesce_usecs;
-
-	/* Adaptive RX/TX coalescing is an algorithm implemented by
-	 * some drivers to improve latency under low packet rates and
-	 * improve throughput under high packet rates.  Some drivers
-	 * only implement one of RX or TX adaptive coalescing.  Anything
-	 * not implemented by the driver causes these values to be
-	 * silently ignored.
-	 */
 	__u32	use_adaptive_rx_coalesce;
 	__u32	use_adaptive_tx_coalesce;
-
-	/* When the packet rate (measured in packets per second)
-	 * is below pkt_rate_low, the {rx,tx}_*_low parameters are
-	 * used.
-	 */
 	__u32	pkt_rate_low;
 	__u32	rx_coalesce_usecs_low;
 	__u32	rx_max_coalesced_frames_low;
 	__u32	tx_coalesce_usecs_low;
 	__u32	tx_max_coalesced_frames_low;
-
-	/* When the packet rate is below pkt_rate_high but above
-	 * pkt_rate_low (both measured in packets per second) the
-	 * normal {rx,tx}_* coalescing parameters are used.
-	 */
-
-	/* When the packet rate is (measured in packets per second)
-	 * is above pkt_rate_high, the {rx,tx}_*_high parameters are
-	 * used.
-	 */
 	__u32	pkt_rate_high;
 	__u32	rx_coalesce_usecs_high;
 	__u32	rx_max_coalesced_frames_high;
 	__u32	tx_coalesce_usecs_high;
 	__u32	tx_max_coalesced_frames_high;
-
-	/* How often to do adaptive coalescing packet rate sampling,
-	 * measured in seconds.  Must not be zero.
-	 */
 	__u32	rate_sample_interval;
 };
 
-- 
1.7.4.4



-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net-next 2/5] ethtool: Specify what kind of coalescing struct ethtool_coalesce covers
  2011-08-16  0:06 [PATCH net-next 1/5] ethtool: Reformat struct ethtool_coalesce comments into kernel-doc format Ben Hutchings
@ 2011-08-16  0:07 ` Ben Hutchings
  2011-08-16 23:36   ` David Miller
  2011-08-16  0:07 ` [PATCH net-next 3/5] ethtool: Correct description of 'max_coalesced_frames' fields Ben Hutchings
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 10+ messages in thread
From: Ben Hutchings @ 2011-08-16  0:07 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Eli Cohen

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
---
 include/linux/ethtool.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
index be32dd0..71d45a1 100644
--- a/include/linux/ethtool.h
+++ b/include/linux/ethtool.h
@@ -118,7 +118,7 @@ struct ethtool_eeprom {
 };
 
 /**
- * struct ethtool_coalesce - coalescing parameters of chip
+ * struct ethtool_coalesce - coalescing parameters for IRQs and stats updates
  * @cmd: ETHTOOL_{G,S}COALESCE
  * @rx_coalesce_usecs: How many usecs to delay an RX interrupt after
  *	a packet arrives.  If 0, only @rx_max_coalesced_frames is used.
-- 
1.7.4.4



-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net-next 3/5] ethtool: Correct description of 'max_coalesced_frames' fields
  2011-08-16  0:06 [PATCH net-next 1/5] ethtool: Reformat struct ethtool_coalesce comments into kernel-doc format Ben Hutchings
  2011-08-16  0:07 ` [PATCH net-next 2/5] ethtool: Specify what kind of coalescing struct ethtool_coalesce covers Ben Hutchings
@ 2011-08-16  0:07 ` Ben Hutchings
  2011-08-16 23:36   ` David Miller
  2011-08-16  0:08 ` [PATCH net-next 4/5] ethtool: Explicitly state the exit condition for interrupt coalescing Ben Hutchings
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 10+ messages in thread
From: Ben Hutchings @ 2011-08-16  0:07 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Eli Cohen

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>
---
 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 71d45a1..18059ca 100644
--- a/include/linux/ethtool.h
+++ b/include/linux/ethtool.h
@@ -122,8 +122,8 @@ struct ethtool_eeprom {
  * @cmd: ETHTOOL_{G,S}COALESCE
  * @rx_coalesce_usecs: How many usecs to delay an RX interrupt after
  *	a packet arrives.  If 0, only @rx_max_coalesced_frames is used.
- * @rx_max_coalesced_frames: How many packets to delay an RX interrupt
- *	after a packet arrives.  If 0, only @rx_coalesce_usecs is used.
+ * @rx_max_coalesced_frames: Maximum number of packets to receive
+ *	before an RX interrupt.  If 0, only @rx_coalesce_usecs is used.
  * @rx_coalesce_usecs_irq: Same as @rx_coalesce_usecs, except that
  *	this value applies while an IRQ is being serviced by the host.
  * @rx_max_coalesced_frames_irq: Same as @rx_max_coalesced_frames,
@@ -132,9 +132,9 @@ struct ethtool_eeprom {
  * @tx_coalesce_usecs: How many usecs to delay a TX interrupt after
  *	a packet is sent.  If 0, only @tx_max_coalesced_frames
  *	is used.
- * @tx_max_coalesced_frames: How many packets to delay a TX interrupt
- *	after a packet is sent.  If 0, only @tx_coalesce_usecs is
- *	used.
+ * @tx_max_coalesced_frames: Maximum number of packets to be sent
+ *	before a TX interrupt.  If 0, only @tx_coalesce_usecs is
+ *     used.
  * @tx_coalesce_usecs_irq: Same as @tx_coalesce_usecs, except that
  *	this value applies while an IRQ is being serviced by the host.
  * @tx_max_coalesced_frames_irq: Same as @tx_max_coalesced_frames,
@@ -149,21 +149,21 @@ struct ethtool_eeprom {
  * @pkt_rate_low: Threshold for low packet rate (packets per second).
  * @rx_coalesce_usecs_low: How many usecs to delay an RX interrupt after
  *	a packet arrives, when the packet rate is below @pkt_rate_low.
- * @rx_max_coalesced_frames_low: How many packets to delay an RX interrupt
- *	after a packet arrives, when the packet rate is below @pkt_rate_low.
+ * @rx_max_coalesced_frames_low: Maximum number of packets to be received
+ *	before an RX interrupt, when the packet rate is below @pkt_rate_low.
  * @tx_coalesce_usecs_low: How many usecs to delay a TX interrupt after
  *	a packet is sent, when the packet rate is below @pkt_rate_low.
- * @tx_max_coalesced_frames_low: How many packets to delay a TX interrupt
- *	after a packet is sent, when the packet rate is below @pkt_rate_low.
+ * @tx_max_coalesced_frames_low: Maximum nuumber of packets to be sent before
+ *	a TX interrupt, when the packet rate is below @pkt_rate_low.
  * @pkt_rate_high: Threshold for high packet rate (packets per second).
  * @rx_coalesce_usecs_high: How many usecs to delay an RX interrupt after
  *	a packet arrives, when the packet rate is above @pkt_rate_high.
- * @rx_max_coalesced_frames_high: How many packets to delay an RX interrupt
- *	after a packet arrives, when the packet rate is above @pkt_rate_high.
+ * @rx_max_coalesced_frames_high: Maximum number of packets to be received
+ *	before an RX interrupt, when the packet rate is above @pkt_rate_high.
  * @tx_coalesce_usecs_high: How many usecs to delay a TX interrupt after
  *	a packet is sent, when the packet rate is above @pkt_rate_high.
- * @tx_max_coalesced_frames_high: How many packets to delay a TX interrupt
- *	after a packet is sent, when the packet rate is above @pkt_rate_high.
+ * @tx_max_coalesced_frames_high: Maximum number of packets to be sent before
+ *	a TX interrupt, when the packet rate is above @pkt_rate_high.
  * @rate_sample_interval: How often to do adaptive coalescing packet rate
  *	sampling, measured in seconds.  Must not be zero.
  *
-- 
1.7.4.4



-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net-next 4/5] ethtool: Explicitly state the exit condition for interrupt coalescing
  2011-08-16  0:06 [PATCH net-next 1/5] ethtool: Reformat struct ethtool_coalesce comments into kernel-doc format Ben Hutchings
  2011-08-16  0:07 ` [PATCH net-next 2/5] ethtool: Specify what kind of coalescing struct ethtool_coalesce covers Ben Hutchings
  2011-08-16  0:07 ` [PATCH net-next 3/5] ethtool: Correct description of 'max_coalesced_frames' fields Ben Hutchings
@ 2011-08-16  0:08 ` Ben Hutchings
  2011-08-16 23:36   ` David Miller
  2011-08-16  0:09 ` [PATCH net-next 5/5] ethtool: Note common alternate " Ben Hutchings
  2011-08-16 23:36 ` [PATCH net-next 1/5] ethtool: Reformat struct ethtool_coalesce comments into kernel-doc format David Miller
  4 siblings, 1 reply; 10+ messages in thread
From: Ben Hutchings @ 2011-08-16  0:08 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Eli Cohen

Also explicitly state how to disable interrupt coalescing.

Remove the now-redundant text from field descriptions.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
---
 include/linux/ethtool.h |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
index 18059ca..42378b3 100644
--- a/include/linux/ethtool.h
+++ b/include/linux/ethtool.h
@@ -121,20 +121,18 @@ struct ethtool_eeprom {
  * struct ethtool_coalesce - coalescing parameters for IRQs and stats updates
  * @cmd: ETHTOOL_{G,S}COALESCE
  * @rx_coalesce_usecs: How many usecs to delay an RX interrupt after
- *	a packet arrives.  If 0, only @rx_max_coalesced_frames is used.
+ *	a packet arrives.
  * @rx_max_coalesced_frames: Maximum number of packets to receive
- *	before an RX interrupt.  If 0, only @rx_coalesce_usecs is used.
+ *	before an RX interrupt.
  * @rx_coalesce_usecs_irq: Same as @rx_coalesce_usecs, except that
  *	this value applies while an IRQ is being serviced by the host.
  * @rx_max_coalesced_frames_irq: Same as @rx_max_coalesced_frames,
  *	except that this value applies while an IRQ is being serviced
  *	by the host.
  * @tx_coalesce_usecs: How many usecs to delay a TX interrupt after
- *	a packet is sent.  If 0, only @tx_max_coalesced_frames
- *	is used.
+ *	a packet is sent.
  * @tx_max_coalesced_frames: Maximum number of packets to be sent
- *	before a TX interrupt.  If 0, only @tx_coalesce_usecs is
- *     used.
+ *	before a TX interrupt.
  * @tx_coalesce_usecs_irq: Same as @tx_coalesce_usecs, except that
  *	this value applies while an IRQ is being serviced by the host.
  * @tx_max_coalesced_frames_irq: Same as @tx_max_coalesced_frames,
@@ -167,8 +165,13 @@ struct ethtool_eeprom {
  * @rate_sample_interval: How often to do adaptive coalescing packet rate
  *	sampling, measured in seconds.  Must not be zero.
  *
- * It is illegal to set both usecs and max frames to zero as this
- * would cause interrupts to never be generated.
+ * Each pair of (usecs, max_frames) fields specifies this exit
+ * condition for interrupt coalescing:
+ *	(usecs > 0 && time_since_first_completion >= usecs) ||
+ *	(max_frames > 0 && completed_frames >= max_frames)
+ * It is illegal to set both usecs and max_frames to zero as this
+ * would cause interrupts to never be generated.  To disable
+ * coalescing, set usecs = 0 and max_frames = 1.
  *
  * Adaptive RX/TX coalescing is an algorithm implemented by some
  * drivers to improve latency under low packet rates and improve
-- 
1.7.4.4



-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net-next 5/5] ethtool: Note common alternate exit condition for interrupt coalescing
  2011-08-16  0:06 [PATCH net-next 1/5] ethtool: Reformat struct ethtool_coalesce comments into kernel-doc format Ben Hutchings
                   ` (2 preceding siblings ...)
  2011-08-16  0:08 ` [PATCH net-next 4/5] ethtool: Explicitly state the exit condition for interrupt coalescing Ben Hutchings
@ 2011-08-16  0:09 ` Ben Hutchings
  2011-08-16 23:36   ` David Miller
  2011-08-16 23:36 ` [PATCH net-next 1/5] ethtool: Reformat struct ethtool_coalesce comments into kernel-doc format David Miller
  4 siblings, 1 reply; 10+ messages in thread
From: Ben Hutchings @ 2011-08-16  0:09 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Eli Cohen

Many implementations ignore the value of max_frames and do not
treat usecs == 0 as special.  Document this as deprecated.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
---
 include/linux/ethtool.h |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
index 42378b3..3829712 100644
--- a/include/linux/ethtool.h
+++ b/include/linux/ethtool.h
@@ -173,6 +173,12 @@ struct ethtool_eeprom {
  * would cause interrupts to never be generated.  To disable
  * coalescing, set usecs = 0 and max_frames = 1.
  *
+ * Some implementations ignore the value of max_frames and use the
+ * condition:
+ *	time_since_first_completion >= usecs
+ * This is deprecated.  Drivers for hardware that does not support
+ * counting completions should validate that max_frames == !rx_usecs.
+ *
  * Adaptive RX/TX coalescing is an algorithm implemented by some
  * drivers to improve latency under low packet rates and improve
  * throughput under high packet rates.  Some drivers only implement
-- 
1.7.4.4


-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH net-next 1/5] ethtool: Reformat struct ethtool_coalesce comments into kernel-doc format
  2011-08-16  0:06 [PATCH net-next 1/5] ethtool: Reformat struct ethtool_coalesce comments into kernel-doc format Ben Hutchings
                   ` (3 preceding siblings ...)
  2011-08-16  0:09 ` [PATCH net-next 5/5] ethtool: Note common alternate " Ben Hutchings
@ 2011-08-16 23:36 ` David Miller
  4 siblings, 0 replies; 10+ messages in thread
From: David Miller @ 2011-08-16 23:36 UTC (permalink / raw)
  To: bhutchings; +Cc: netdev, eli

From: Ben Hutchings <bhutchings@solarflare.com>
Date: Tue, 16 Aug 2011 01:06:20 +0100

> This reorders and duplicates some wording, but should make no
> substantive changes.
> 
> Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>

Applied.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH net-next 2/5] ethtool: Specify what kind of coalescing struct ethtool_coalesce covers
  2011-08-16  0:07 ` [PATCH net-next 2/5] ethtool: Specify what kind of coalescing struct ethtool_coalesce covers Ben Hutchings
@ 2011-08-16 23:36   ` David Miller
  0 siblings, 0 replies; 10+ messages in thread
From: David Miller @ 2011-08-16 23:36 UTC (permalink / raw)
  To: bhutchings; +Cc: netdev, eli

From: Ben Hutchings <bhutchings@solarflare.com>
Date: Tue, 16 Aug 2011 01:07:15 +0100

> Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>

Applied.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH net-next 3/5] ethtool: Correct description of 'max_coalesced_frames' fields
  2011-08-16  0:07 ` [PATCH net-next 3/5] ethtool: Correct description of 'max_coalesced_frames' fields Ben Hutchings
@ 2011-08-16 23:36   ` David Miller
  0 siblings, 0 replies; 10+ messages in thread
From: David Miller @ 2011-08-16 23:36 UTC (permalink / raw)
  To: bhutchings; +Cc: netdev, eli

From: Ben Hutchings <bhutchings@solarflare.com>
Date: Tue, 16 Aug 2011 01:07:47 +0100

> 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>

Applied.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH net-next 4/5] ethtool: Explicitly state the exit condition for interrupt coalescing
  2011-08-16  0:08 ` [PATCH net-next 4/5] ethtool: Explicitly state the exit condition for interrupt coalescing Ben Hutchings
@ 2011-08-16 23:36   ` David Miller
  0 siblings, 0 replies; 10+ messages in thread
From: David Miller @ 2011-08-16 23:36 UTC (permalink / raw)
  To: bhutchings; +Cc: netdev, eli

From: Ben Hutchings <bhutchings@solarflare.com>
Date: Tue, 16 Aug 2011 01:08:37 +0100

> Also explicitly state how to disable interrupt coalescing.
> 
> Remove the now-redundant text from field descriptions.
> 
> Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>

Applied.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH net-next 5/5] ethtool: Note common alternate exit condition for interrupt coalescing
  2011-08-16  0:09 ` [PATCH net-next 5/5] ethtool: Note common alternate " Ben Hutchings
@ 2011-08-16 23:36   ` David Miller
  0 siblings, 0 replies; 10+ messages in thread
From: David Miller @ 2011-08-16 23:36 UTC (permalink / raw)
  To: bhutchings; +Cc: netdev, eli

From: Ben Hutchings <bhutchings@solarflare.com>
Date: Tue, 16 Aug 2011 01:09:22 +0100

> Many implementations ignore the value of max_frames and do not
> treat usecs == 0 as special.  Document this as deprecated.
> 
> Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>

Applied.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2011-08-16 23:37 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-16  0:06 [PATCH net-next 1/5] ethtool: Reformat struct ethtool_coalesce comments into kernel-doc format Ben Hutchings
2011-08-16  0:07 ` [PATCH net-next 2/5] ethtool: Specify what kind of coalescing struct ethtool_coalesce covers Ben Hutchings
2011-08-16 23:36   ` David Miller
2011-08-16  0:07 ` [PATCH net-next 3/5] ethtool: Correct description of 'max_coalesced_frames' fields Ben Hutchings
2011-08-16 23:36   ` David Miller
2011-08-16  0:08 ` [PATCH net-next 4/5] ethtool: Explicitly state the exit condition for interrupt coalescing Ben Hutchings
2011-08-16 23:36   ` David Miller
2011-08-16  0:09 ` [PATCH net-next 5/5] ethtool: Note common alternate " Ben Hutchings
2011-08-16 23:36   ` David Miller
2011-08-16 23:36 ` [PATCH net-next 1/5] ethtool: Reformat struct ethtool_coalesce comments into kernel-doc format David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.