t;net/dim: use struct net_dim_sample as arg to net_dim")
Signed-off-by: Tal Gilboa
Reviewed-by: Tariq Toukan
---
include/linux/net_dim.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/include/linux/net_dim.h b/include/linux/net_dim.h
index c79e859..fd45838 100644
--- a/include/linux
On 9/10/2018 10:22 PM, Florian Fainelli wrote:
On 09/10/2018 02:14 AM, Jose Abreu wrote:
This follows David Miller advice and tries to fix coalesce timer in
multi-queue scenarios.
We are now using per-queue coalesce values and per-queue TX timer.
Coalesce timer default values was changed to
wouldn't increase for these scenarios. There might be a slight
degradation in bandwidth for single stream with large message sizes, since
net.ipv4.tcp_limit_output_bytes is limiting the allowed TX traffic, but
with many streams performance is always improved.
Signed-off-by: Tal Gilboa <
t; field from struct net_dim and applied mlx5e structural
suggestions (suggested by SaeedM).
v2: Rebase over proper tree.
v1: Fix compilation issues due to missed function renaming.
Tal Gilboa (3):
net/dim: Rename *_get_profile() functions to *_get_rx_moderation()
net/dim: Support adaptive TX mo
/s).
Signed-off-by: Tal Gilboa <ta...@mellanox.com>
Reviewed-by: Tariq Toukan <tar...@mellanox.com>
Acked-by: Saeed Mahameed <sae...@mellanox.com>
---
drivers/net/ethernet/mellanox/mlx5/core/en.h | 4 ++
drivers/net/ethernet/mellanox/mlx5/core/en_dim.c | 24 +--
Preparation for introducing adaptive TX to net DIM.
Signed-off-by: Tal Gilboa <ta...@mellanox.com>
Reviewed-by: Tariq Toukan <tar...@mellanox.com>
---
drivers/net/ethernet/broadcom/bcmsysport.c| 6 +++---
drivers/net/ethernet/broadcom/bnxt/bnxt_dim.c | 8
On 4/5/2018 4:13 PM, Geert Uytterhoeven wrote:
Hi Tal,
With gcc-4.1.2:
drivers/net/ethernet/broadcom/bcmsysport.c: In function ‘bcm_sysport_poll’:
include/linux/net_dim.h:354: warning: ‘curr_stats.ppms’ may be
used uninitialized in this function
include/linux/net_dim.h:354:
On 4/2/2018 11:25 PM, Keller, Jacob E wrote:
-Original Message-
From: Bjorn Helgaas [mailto:helg...@kernel.org]
Sent: Monday, April 02, 2018 12:58 PM
To: Keller, Jacob E <jacob.e.kel...@intel.com>
Cc: Tal Gilboa <ta...@mellanox.com>; Tariq Toukan <tar...@mellanox.co
On 4/2/2018 5:27 PM, David Miller wrote:
From: Tal Gilboa <ta...@mellanox.com>
Date: Mon, 2 Apr 2018 16:59:30 +0300
Net DIM is a library designed for dynamic interrupt moderation. It was
implemented and optimized with receive side interrupts in mind, since these
are usually the CPU exp
On 4/2/2018 5:05 PM, Bjorn Helgaas wrote:
On Mon, Apr 02, 2018 at 10:34:58AM +0300, Tal Gilboa wrote:
On 4/2/2018 3:40 AM, Bjorn Helgaas wrote:
On Sun, Apr 01, 2018 at 11:38:53PM +0300, Tal Gilboa wrote:
On 3/31/2018 12:05 AM, Bjorn Helgaas wrote:
From: Tal Gilboa <ta...@mellanox.com>
Preparation for introducing adaptive TX to net DIM.
Signed-off-by: Tal Gilboa <ta...@mellanox.com>
---
drivers/net/ethernet/broadcom/bcmsysport.c| 6 +++---
drivers/net/ethernet/broadcom/bnxt/bnxt_dim.c | 8
drivers/net/ethernet/broadcom/genet/bcmgenet.c
Preparation for introducing adaptive TX to net DIM.
Signed-off-by: Tal Gilboa <ta...@mellanox.com>
---
drivers/net/ethernet/mellanox/mlx5/core/en.h | 1 -
drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 10 +++---
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
enabled.
Signed-off-by: Tal Gilboa <ta...@mellanox.com>
---
include/linux/net_dim.h | 64 +++--
1 file changed, 51 insertions(+), 13 deletions(-)
diff --git a/include/linux/net_dim.h b/include/linux/net_dim.h
index e6623cf..95a7a2f 100644
--- a/i
%.
Performance improvement (ConnectX-5 100GbE, x86)
Bandwidth: increased up to 40% (1024B with 10s of streams).
Interrupt rate: reduced up to 50% (1024B with 1000s of streams).
Signed-off-by: Tal Gilboa <ta...@mellanox.com>
---
drivers/net/ethernet/mellanox/mlx5/core/en.h | 4 +++
drivers/net/et
driver.
Using adaptive TX behavior would reduce interrupt rate for multiple scenarios.
Furthermore, it is essential for increasing bandwidth on cases where payload
aggregation is required.
v2: Rebased over proper tree.
v1: Fix compilation issues due to missed function renaming.
Tal Gilboa (4):
net
On 4/2/2018 3:40 AM, Bjorn Helgaas wrote:
On Sun, Apr 01, 2018 at 11:38:53PM +0300, Tal Gilboa wrote:
On 3/31/2018 12:05 AM, Bjorn Helgaas wrote:
From: Tal Gilboa <ta...@mellanox.com>
Add pcie_bandwidth_capable() to compute the max link bandwidth supported by
a device, based on the ma
On 3/31/2018 12:05 AM, Bjorn Helgaas wrote:
From: Tal Gilboa <ta...@mellanox.com>
Add pcie_bandwidth_available() to compute the bandwidth available to a
device. This may be limited by the device itself or by a slower upstream
link leading to the device.
The available bandwidth at eac
On 3/31/2018 12:05 AM, Bjorn Helgaas wrote:
From: Tal Gilboa <ta...@mellanox.com>
Add pcie_bandwidth_capable() to compute the max link bandwidth supported by
a device, based on the max link speed and width, adjusted by the encoding
overhead.
The maximum bandwidth of the link is co
On 4/1/2018 7:33 PM, Florian Fainelli wrote:
Le 03/31/18 à 23:48, Tal Gilboa a écrit :
Fixes: 8c6d6895bebb ("net/dim: Rename *_get_profile() functions to
*_get_rx_moderation()")
Signed-off-by: Tal Gilboa <ta...@mellanox.com>
I think David just backed out your entire patch
Preparation for introducing adaptive TX to net DIM.
Signed-off-by: Tal Gilboa <ta...@mellanox.com>
---
drivers/net/ethernet/mellanox/mlx5/core/en.h | 1 -
drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 10 +++---
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
%.
Performance improvement (ConnectX-5 100GbE, x86)
Bandwidth: increased up to 40% (1024B with 10s of streams).
Interrupt rate: reduced up to 50% (1024B with 1000s of streams).
Signed-off-by: Tal Gilboa <ta...@mellanox.com>
---
drivers/net/ethernet/mellanox/mlx5/core/en.h | 4 +++
drivers/net/et
Preparation for introducing adaptive TX to net DIM.
Signed-off-by: Tal Gilboa <ta...@mellanox.com>
---
drivers/net/ethernet/broadcom/bcmsysport.c| 6 +++---
drivers/net/ethernet/broadcom/bnxt/bnxt_dim.c | 8
drivers/net/ethernet/broadcom/genet/bcmgenet.c
] net: bcmgenet: Fix coalescing settings handling" patch.
v1: Fix compilation issues due to missed function renaming.
Tal Gilboa (4):
net/dim: Rename *_get_profile() functions to *_get_rx_moderation()
net/dim: Add "enabled" field to net_dim struct
net/dim: Support adaptive TX mo
enabled.
Signed-off-by: Tal Gilboa <ta...@mellanox.com>
---
include/linux/net_dim.h | 64 +++--
1 file changed, 51 insertions(+), 13 deletions(-)
diff --git a/include/linux/net_dim.h b/include/linux/net_dim.h
index d34fbfe..9449a61 100644
--- a/i
On 4/1/2018 6:19 AM, David Miller wrote:
From: David Miller <da...@davemloft.net>
Date: Sat, 31 Mar 2018 22:02:55 -0400 (EDT)
From: Tal Gilboa <ta...@mellanox.com>
Date: Fri, 30 Mar 2018 09:37:29 +0300
Net DIM is a library designed for dynamic interrupt moderation. It was
Fixes: 8c6d6895bebb ("net/dim: Rename *_get_profile() functions to
*_get_rx_moderation()")
Signed-off-by: Tal Gilboa <ta...@mellanox.com>
---
drivers/net/ethernet/broadcom/bcmsysport.c | 4 ++--
drivers/net/ethernet/broadcom/genet/bcmgenet.c | 4 ++--
2 files changed, 4
On 3/30/2018 9:37 AM, Tal Gilboa wrote:
Net DIM is a library designed for dynamic interrupt moderation. It was
implemented and optimized with receive side interrupts in mind, since these
are usually the CPU expensive ones. This patch-set introduces adaptive transmit
interrupt moderation to net
Preparation for introducing adaptive TX to net DIM.
Signed-off-by: Tal Gilboa <ta...@mellanox.com>
---
drivers/net/ethernet/mellanox/mlx5/core/en.h | 1 -
drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 10 +++---
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
enabled.
Signed-off-by: Tal Gilboa <ta...@mellanox.com>
---
include/linux/net_dim.h | 64 +++--
1 file changed, 51 insertions(+), 13 deletions(-)
diff --git a/include/linux/net_dim.h b/include/linux/net_dim.h
index d34fbfe..9449a61 100644
--- a/i
%.
Performance improvement (ConnectX-5 100GbE, x86)
Bandwidth: increased up to 40% (1024B with 10s of streams).
Interrupt rate: reduced up to 50% (1024B with 1000s of streams).
Signed-off-by: Tal Gilboa <ta...@mellanox.com>
---
drivers/net/ethernet/mellanox/mlx5/core/en.h | 4 +++
drivers/net/et
driver.
Using adaptive TX behavior would reduce interrupt rate for multiple scenarios.
Furthermore, it is essential for increasing bandwidth on cases where payload
aggregation is required.
Tal Gilboa (4):
net/dim: Rename *_get_profile() functions to *_get_rx_moderation()
net/dim: Add "en
Preparation for introducing adaptive TX to net DIM.
Signed-off-by: Tal Gilboa <ta...@mellanox.com>
---
drivers/net/ethernet/broadcom/bcmsysport.c| 2 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_dim.c | 8
drivers/net/ethernet/broadcom/genet/bcmgenet.c| 2 +-
d
clude/linux")
Signed-off-by: Tal Gilboa <ta...@mellanox.com>
---
include/linux/net_dim.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/net_dim.h b/include/linux/net_dim.h
index bebeaad..29ed8fd 100644
--- a/include/linux/net_dim.h
+++ b/include/linux/net
bytes;
- u32 coal_usecs;
- u32 coal_pkts;
struct net_dim dim;
};
@@ -755,6 +753,8 @@ struct bcm_sysport_priv {
unsigned intrx_c_index;
struct bcm_sysport_net_dim dim;
+ u32 rx_max_coalesced_frames;
+ u32 rx_coalesce_usecs;
/* PHY device */
struct device_node *phy_dn;
Reviewed-by: Tal Gilboa <ta...@mellanox.com>
};
@@ -598,6 +596,8 @@ struct bcmgenet_rx_ring {
unsigned intend_ptr;/* Rx ring end CB ptr */
unsigned intold_discards;
struct bcmgenet_net_dim dim;
+ u32 rx_max_coalesced_frames;
+ u32 rx_coalesce_usecs;
void (*int_enable)(struct bcmgenet_rx_ring *);
void (*int_disable)(struct bcmgenet_rx_ring *);
struct bcmgenet_priv *priv;
Reviewed-by: Tal Gilboa <ta...@mellanox.com>
On 3/27/2018 10:47 PM, Florian Fainelli wrote:
There were a number of issues with setting the RX coalescing parameters:
- we would not be preserving values that would have been configured
across close/open calls, instead we would always reset to no timeout
and 1 interrupt per packet, this
On 3/27/2018 10:47 PM, Florian Fainelli wrote:
There were a number of issues with setting the RX coalescing parameters:
- we would not be preserving values that would have been configured
across close/open calls, instead we would always reset to no timeout
and 1 interrupt per packet, this
struct bcm_sysport_net_dim dim; /* Net DIM context */
unsigned intswitch_queue; /* switch port queue number */
unsigned intswitch_port;/* switch port queue number */
boolinspect;/* inspect switch port and queue */
Reviewed-by: Tal Gilboa <ta...@mellanox.com>
On 3/22/2018 8:51 PM, David Miller wrote:
From: Tal Gilboa <ta...@mellanox.com>
Date: Wed, 21 Mar 2018 20:33:45 +0200
Net DIM is a generic algorithm, purposed for dynamically
optimizing network devices interrupt moderation. This
document describes how it works and how to use it.
Sign
On 3/27/2018 1:29 AM, Florian Fainelli wrote:
On 03/26/2018 03:04 PM, Florian Fainelli wrote:
On 03/26/2018 02:16 PM, Tal Gilboa wrote:
On 3/23/2018 4:19 AM, Florian Fainelli wrote:
Hi all,
This patch series adds adaptive interrupt coalescing for the Gigabit
Ethernet
drivers SYSTEMPORT
On 3/27/2018 12:36 AM, Florian Fainelli wrote:
On 03/26/2018 02:22 PM, Tal Gilboa wrote:
On 3/23/2018 4:19 AM, Florian Fainelli wrote:
Implement support for adaptive RX and TX interrupt coalescing using
net_dim. We have each of our TX ring and our single RX ring implement a
bcm_sysport_net_dim
On 3/23/2018 4:19 AM, Florian Fainelli wrote:
Unlike the moder modern SYSTEMPORT hardware, we do not have a
configurable TDMA timeout, which limits us to implement adaptive RX
interrupt coalescing only. We have each of our RX rings implement a
bcmgenet_net_dim structure which holds an interrupt
On 3/23/2018 4:19 AM, Florian Fainelli wrote:
Implement support for adaptive RX and TX interrupt coalescing using
net_dim. We have each of our TX ring and our single RX ring implement a
bcm_sysport_net_dim structure which holds an interrupt counter, number
of packets, bytes, and a container for
On 3/23/2018 4:19 AM, Florian Fainelli wrote:
Hi all,
This patch series adds adaptive interrupt coalescing for the Gigabit Ethernet
drivers SYSTEMPORT and GENET.
This really helps lower the interrupt count and system load, as measured by
vmstat for a Gigabit TCP RX session:
I don't see an
On 3/21/2018 8:33 PM, Randy Dunlap wrote:
On 03/21/2018 11:20 AM, Marcelo Ricardo Leitner wrote:
On Wed, Mar 21, 2018 at 11:30:29AM +0200, Tal Gilboa wrote:
...
+Dynamic Interrupt Moderation (DIM) (in networking) refers to changing the
interrupt
+moderation configuration of a channel in order
Net DIM is a generic algorithm, purposed for dynamically
optimizing network devices interrupt moderation. This
document describes how it works and how to use it.
Signed-off-by: Tal Gilboa <ta...@mellanox.com>
---
Documentation/networking/net_dim.txt | 174
Net DIM is a generic algorithm, purposed for dynamically
optimizing network devices interrupt moderation. This
document describes how it works and how to use it.
Signed-off-by: Tal Gilboa <ta...@mellanox.com>
---
Documentation/networking/net_dim.txt | 174
Net DIM is a generic algorithm, purposed for dynamically
optimizing network devices interrupt moderation. This
document describes how it works and how to use it.
Signed-off-by: Tal Gilboa <ta...@mellanox.com>
---
Documentation/networking/net_dim.txt | 174
On 2/6/2018 5:52 PM, Eric Dumazet wrote:
On Tue, 2018-02-06 at 15:22 +, David Laight wrote:
From: Eric Dumazet
Sent: 06 February 2018 14:20
...
Please give exact details.
Sending 64, 128, 256 or 512 bytes at a time on TCP_STREAM makes little sense.
We are not optimizing stack for
On 1/24/2018 5:09 PM, Eric Dumazet wrote:
On Wed, 2018-01-24 at 16:42 +0200, Tal Gilboa wrote:
Hi Eric,
My choice of words in my comment was misplaced, and I apologies. It
completely missed the point. I understand, of course, the importance of
optimizing real-life scenarios.
We are currently
suggestion below.
We will contact you if and when we have a real concern.
Thanks.
On 1/22/2018 1:47 AM, Eric Dumazet wrote:
On Sun, Jan 21, 2018 at 12:52 PM, Tal Gilboa <ta...@mellanox.com> wrote:
Hi Eric,
We have noticed a degradation on both of our drivers (mlx4 and mlx5) when
runni
Hi Eric,
We have noticed a degradation on both of our drivers (mlx4 and mlx5)
when running TCP. Exact scenario is single stream TCP with 1KB packets.
The degradation is a steady 50% drop.
We tracked the offending commit to be:
75c119a ("tcp: implement rb-tree based retransmit queue")
Since
gra...@de.ibm.com>
Signed-off-by: Talat Batheesh <tal...@mellanox.com>
Signed-off-by: Tal Gilboa <ta...@mellanox.com>
---
include/linux/net_dim.h | 7 +++
1 file changed, 7 insertions(+)
diff --git a/include/linux/net_dim.h b/include/linux/net_dim.h
index 1c7e450..bebeaad 100644
nction that can be called to actually set coalesce settings
for the driver
Credit to Rob Rice and Lee Reed for doing some of the initial proof of
concept and testing for this patch and Tal Gilboa and Or Gerlitz for
their comments, etc on this set.
v4: Fix build breakage for VF representers n
ttings
for the driver
Credit to Rob Rice and Lee Reed for doing some of the initial proof of
concept and testing for this patch and Tal Gilboa and Or Gerlitz for
their comments, etc on this set.
v4: Fix build breakage for VF representers noticed by kbuild test robot.
Thanks for being so courteous, kbuil
tively, in code that handles dynamic interrupt
moderation. Also change all references from 'am' to 'dim' when used as
local variables and add generic profile references.
Signed-off-by: Andy Gospodarek <go...@broadcom.com>
Acked-by: Tal Gilboa <ta...@mellanox.com>
Acked-by: S
On 1/9/2018 8:13 AM, Andy Gospodarek wrote:
From: Andy Gospodarek
This converts the dynamic interrupt moderation library from the mlx5e
driver into a library so it can be used by any driver. The penultimate
patch in this set adds support for thiw new dynamic interrupt
n used as
local variables.
Signed-off-by: Andy Gospodarek <go...@broadcom.com>
Acked-by: Tal Gilboa <ta...@mellanox.com>
Acked-by: Saeed Mahameed <sae...@mellanox.com>
---
drivers/net/ethernet/mellanox/mlx5/core/en.h | 12 +-
drivers/net/ethernet/mellanox/mlx5/core/en_di
t to track items needed by this library
- create function that can be called to actually set coalesce settings
for the driver
Credit to Rob Rice and Lee Reed for doing some of the initial proof of
concept and testing for this patch and Tal Gilboa and Or Gerlitz for their
comments, etc on
Thanks for doing this, would make future changes easier.
On 1/4/2018 10:21 PM, Andy Gospodarek wrote:
From: Andy Gospodarek
Simplify the arguments net_dim() by formatting them into a struct
net_dim_sample before calling the function.
On 1/4/2018 10:21 PM, Andy Gospodarek wrote:
From: Andy Gospodarek
Change all mlx5_am* and MLX_AM* references to net_dim and NET_DIM,
MLX_AM->MLX5_AM
cq_period_mode = enable ?
- MLX5_CQ_PERIOD_MODE_START_FROM_CQE :
-
61 matches
Mail list logo