Re: [for-next V2 05/10] linux/dim: Rename externally used net_dim members

2019-06-25 Thread Tal Gilboa
On 6/26/2019 12:57 AM, Sagi Grimberg wrote: > Question, do any other nics use or plan to use this? Yes, see the changed files list under drivers/net for existing usage. > > Reviewed-by: Sagi Grimberg

[RFC/PATCH net-next 3/9] linux/dim: Rename externally exposed macros

2019-02-03 Thread Tal Gilboa
Renamed macros in use by external drivers. Signed-off-by: Tal Gilboa --- drivers/net/ethernet/broadcom/bcmsysport.c | 4 ++-- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt_dim.c | 2 +- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 4

[RFC/PATCH net-next 4/9] linux/dim: Rename net_dim_sample() to net_dim_create_sample()

2019-02-03 Thread Tal Gilboa
In order to avoid confusion between the function and the similarly named struct. In preparation for removing the 'net' prefix from dim members. Signed-off-by: Tal Gilboa --- drivers/net/ethernet/broadcom/bcmsysport.c| 4 ++-- drivers/net/ethernet/broadcom/bnxt/bnxt.c

[RFC/PATCH net-next 7/9] linux/dim: Add completions count to dim_sample

2019-02-03 Thread Tal Gilboa
From: Yamin Friedman Added a measurement of completions per/msec to allow for completion based dim algorithms. Signed-off-by: Yamin Friedman Signed-off-by: Tal Gilboa --- drivers/net/ethernet/broadcom/bcmsysport.c| 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 1

[RFC/PATCH net-next 8/9] linux/dim: Implement blk_dim.h

2019-02-03 Thread Tal Gilboa
changes in such a way as to no longer require high moderation in order to avoid long latencies. blk_dim.h will be called from the ib_core module. Signed-off-by: Yamin Friedman Signed-off-by: Tal Gilboa --- MAINTAINERS | 1 + include/linux/blk_dim.h | 56 lib

[RFC/PATCH net-next 6/9] linux/dim: Move implementation to .c files

2019-02-03 Thread Tal Gilboa
Moved all logic from dim.h and net_dim.h to dim.c and net_dim.c. Signed-off-by: Tal Gilboa --- MAINTAINERS | 2 + include/linux/dim.h | 86 +++--- include/linux/net_dim.h | 182 ++--- lib/Kconfig | 7 ++ lib/Makefile

[RFC/PATCH net-next 5/9] linux/dim: Rename externally used net_dim members

2019-02-03 Thread Tal Gilboa
Removed 'net' prefix from functions and structs used by external drivers. Signed-off-by: Tal Gilboa --- drivers/net/ethernet/broadcom/bcmsysport.c| 16 +- drivers/net/ethernet/broadcom/bcmsysport.h| 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 10 +++ d

[RFC/PATCH net-next 2/9] linux/dim: Remove "net" prefix from internal DIM members

2019-02-03 Thread Tal Gilboa
Only renaming functions and structs which aren't used by an external code. Signed-off-by: Tal Gilboa --- include/linux/dim.h | 86 - include/linux/net_dim.h | 86 - 2 files changed, 86 insertions(+

[RFC/PATCH net-next 0/9] net/dim: Support for multiple implementations

2019-02-03 Thread Tal Gilboa
two separate solutions) - Readiness for future implementations Tal Gilboa (6): linux/dim: Move logic to dim.h linux/dim: Remove "net" prefix from internal DIM members linux/dim: Rename externally exposed macros linux/dim: Rename net_dim_sample() to net_dim_create_sample() linux

[RFC/PATCH net-next 1/9] linux/dim: Move logic to dim.h

2019-02-03 Thread Tal Gilboa
In preparation for supporting more implementations of the DIM algorithm, I'm moving what would become common logic to a common library. Downstream DIM implementations will use the common lib for their implementation. Signed-off-by: Tal Gilboa --- include/linux/dim.h

[RFC/PATCH net-next 9/9] drivers/infiniband: Use blk_dim in infiniband driver

2019-02-03 Thread Tal Gilboa
degredation of other flow parameters. The blk_dim algorithm was designed to measure the effectiveness of moderation on the flow in a general way and thus should be appropriate for all RDMA storage protocols. Signed-off-by: Yamin Friedman Signed-off-by: Tal Gilboa --- drivers/infiniband/core/cq.c

[PATCH net] net/dim: Update DIM start sample after each DIM iteration

2018-11-21 Thread Tal Gilboa
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

Re: [PATCH net-next v2 1/2] net: stmmac: Rework coalesce timer and fix multi-queue races

2018-09-18 Thread Tal Gilboa
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 1m

[PATCH net-next V3 2/3] net/dim: Support adaptive TX moderation

2018-04-24 Thread Tal Gilboa
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 Review

[PATCH net-next V3 0/3] Introduce adaptive TX interrupt moderation to net DIM

2018-04-24 Thread 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

[PATCH net-next V3 3/3] net/mlx5e: Enable adaptive-TX moderation

2018-04-24 Thread Tal Gilboa
47Gb/s). Signed-off-by: Tal Gilboa Reviewed-by: Tariq Toukan Acked-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/en.h | 4 ++ drivers/net/ethernet/mellanox/mlx5/core/en_dim.c | 24 +-- .../net/ethernet/mellanox/mlx5/core/en_ethtool.c | 35 +++--- driver

[PATCH net-next V3 1/3] net/dim: Rename *_get_profile() functions to *_get_rx_moderation()

2018-04-24 Thread Tal Gilboa
Preparation for introducing adaptive TX to net DIM. Signed-off-by: Tal Gilboa Reviewed-by: Tariq Toukan --- drivers/net/ethernet/broadcom/bcmsysport.c| 6 +++--- drivers/net/ethernet/broadcom/bnxt/bnxt_dim.c | 8 drivers/net/ethernet/broadcom/genet/bcmgenet.c| 6

Re: net_dim() may use uninitialized data

2018-04-12 Thread Tal Gilboa
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: warni

Re: [PATCH v5 05/14] PCI: Add pcie_print_link_status() to log link speed and whether it's limited

2018-04-02 Thread Tal Gilboa
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 Cc: Tal Gilboa ; Tariq Toukan ; Ariel Elior ; Ganesh Goudar ; Kirsher, Jeffrey T ; everest-linux...@cavium.com

Re: [PATCH net-next V2 0/4] Introduce adaptive TX interrupt moderation to net DIM

2018-04-02 Thread Tal Gilboa
On 4/2/2018 5:27 PM, David Miller wrote: From: Tal Gilboa 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 expensive ones. This patch-set

Re: [PATCH v5 03/14] PCI: Add pcie_bandwidth_capable() to compute max supported link bandwidth

2018-04-02 Thread Tal Gilboa
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 Add

[PATCH net-next V2 1/4] net/dim: Rename *_get_profile() functions to *_get_rx_moderation()

2018-04-02 Thread Tal Gilboa
Preparation for introducing adaptive TX to net DIM. Signed-off-by: Tal Gilboa --- drivers/net/ethernet/broadcom/bcmsysport.c| 6 +++--- drivers/net/ethernet/broadcom/bnxt/bnxt_dim.c | 8 drivers/net/ethernet/broadcom/genet/bcmgenet.c| 6 +++--- drivers/net/ethernet

[PATCH net-next V2 2/4] net/dim: Add "enabled" field to net_dim struct

2018-04-02 Thread Tal Gilboa
Preparation for introducing adaptive TX to net DIM. Signed-off-by: Tal Gilboa --- 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| 6 +++--- drivers/net

[PATCH net-next V2 3/4] net/dim: Support adaptive TX moderation

2018-04-02 Thread Tal Gilboa
moderation enabled. Signed-off-by: Tal Gilboa --- 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/include/linux/net_d

[PATCH net-next V2 4/4] net/mlx5e: Enable adaptive-TX moderation

2018-04-02 Thread Tal Gilboa
20-70%. 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 --- drivers/net/ethernet/mellanox/mlx5/core/en.h | 4 +++ drivers/net/ethernet/mellanox/mlx5

[PATCH net-next V2 0/4] Introduce adaptive TX interrupt moderation to net DIM

2018-04-02 Thread Tal Gilboa
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

Re: [PATCH v5 03/14] PCI: Add pcie_bandwidth_capable() to compute max supported link bandwidth

2018-04-02 Thread Tal Gilboa
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 Add pcie_bandwidth_capable() to compute the max link bandwidth supported by a device, based on the max link speed and width

Re: [PATCH v5 04/14] PCI: Add pcie_bandwidth_available() to compute bandwidth available to device

2018-04-01 Thread Tal Gilboa
On 3/31/2018 12:05 AM, Bjorn Helgaas wrote: From: Tal Gilboa 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 each link along the path is

Re: [PATCH v5 03/14] PCI: Add pcie_bandwidth_capable() to compute max supported link bandwidth

2018-04-01 Thread Tal Gilboa
On 3/31/2018 12:05 AM, Bjorn Helgaas wrote: From: Tal Gilboa 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 computed as: max_link_speed

Re: [PATCH net-next] net/broadcom: Fixup broken build due to function name change

2018-04-01 Thread Tal Gilboa
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 I think David just backed out your entire patch series adding TX DIM so you

[PATCH net-next V1 2/4] net/dim: Add "enabled" field to net_dim struct

2018-04-01 Thread Tal Gilboa
Preparation for introducing adaptive TX to net DIM. Signed-off-by: Tal Gilboa --- 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| 6 +++--- drivers/net

[PATCH net-next V1 4/4] net/mlx5e: Enable adaptive-TX moderation

2018-04-01 Thread Tal Gilboa
20-70%. 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 --- drivers/net/ethernet/mellanox/mlx5/core/en.h | 4 +++ drivers/net/ethernet/mellanox/mlx5

[PATCH net-next V1 1/4] net/dim: Rename *_get_profile() functions to *_get_rx_moderation()

2018-04-01 Thread Tal Gilboa
Preparation for introducing adaptive TX to net DIM. Signed-off-by: Tal Gilboa --- drivers/net/ethernet/broadcom/bcmsysport.c| 6 +++--- drivers/net/ethernet/broadcom/bnxt/bnxt_dim.c | 8 drivers/net/ethernet/broadcom/genet/bcmgenet.c| 6 +++--- drivers/net/ethernet

[PATCH net-next V1 0/4] Introduce adaptive TX interrupt moderation to net DIM

2018-04-01 Thread Tal Gilboa
2 3/3] 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

[PATCH net-next V1 3/4] net/dim: Support adaptive TX moderation

2018-04-01 Thread Tal Gilboa
moderation enabled. Signed-off-by: Tal Gilboa --- 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/include/linux/net_d

Re: [PATCH net-next 0/4] Introduce adaptive TX interrupt moderation to net DIM

2018-03-31 Thread Tal Gilboa
On 4/1/2018 6:19 AM, David Miller wrote: From: David Miller Date: Sat, 31 Mar 2018 22:02:55 -0400 (EDT) From: Tal Gilboa Date: Fri, 30 Mar 2018 09:37:29 +0300 Net DIM is a library designed for dynamic interrupt moderation. It was implemented and optimized with receive side interrupts in

[PATCH net-next] net/broadcom: Fixup broken build due to function name change

2018-03-31 Thread Tal Gilboa
Fixes: 8c6d6895bebb ("net/dim: Rename *_get_profile() functions to *_get_rx_moderation()") Signed-off-by: Tal Gilboa --- drivers/net/ethernet/broadcom/bcmsysport.c | 4 ++-- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)

Re: [PATCH net-next 0/4] Introduce adaptive TX interrupt moderation to net DIM

2018-03-29 Thread Tal Gilboa
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

[PATCH net-next 2/4] net/dim: Add "enabled" field to net_dim struct

2018-03-29 Thread Tal Gilboa
Preparation for introducing adaptive TX to net DIM. Signed-off-by: Tal Gilboa --- 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| 6 +++--- drivers/net

[PATCH net-next 3/4] net/dim: Support adaptive TX moderation

2018-03-29 Thread Tal Gilboa
moderation enabled. Signed-off-by: Tal Gilboa --- 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/include/linux/net_d

[PATCH net-next 4/4] net/mlx5e: Enable adaptive-TX moderation

2018-03-29 Thread Tal Gilboa
20-70%. 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 --- drivers/net/ethernet/mellanox/mlx5/core/en.h | 4 +++ drivers/net/ethernet/mellanox/mlx5

[PATCH net-next 0/4] Introduce adaptive TX interrupt moderation to net DIM

2018-03-29 Thread Tal Gilboa
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

[PATCH net-next 1/4] net/dim: Rename *_get_profile() functions to *_get_rx_moderation()

2018-03-29 Thread Tal Gilboa
Preparation for introducing adaptive TX to net DIM. Signed-off-by: Tal Gilboa --- drivers/net/ethernet/broadcom/bcmsysport.c| 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt_dim.c | 8 drivers/net/ethernet/broadcom/genet/bcmgenet.c| 2 +- drivers/net/ethernet/mellanox

[PATCH net] net/dim: Fix int overflow

2018-03-29 Thread Tal Gilboa
clude/linux") Signed-off-by: Tal Gilboa --- 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_dim.h @@ -231,7 +231,7

Re: [PATCH net-next v2 2/3] net: systemport: Fix coalescing settings handling

2018-03-29 Thread Tal Gilboa
g packets; unsigned long 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

Re: [PATCH net-next v2 3/3] net: bcmgenet: Fix coalescing settings handling

2018-03-29 Thread Tal Gilboa
- u32 coal_pkts; struct net_dim dim; }; @@ -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

Re: [PATCH net-next 2/3] net: systemport: Fix coalescing settings handling

2018-03-28 Thread Tal Gilboa
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

Re: [PATCH net-next 3/3] net: bcmgenet: Fix coalescing settings handling

2018-03-28 Thread Tal Gilboa
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

Re: [PATCH net-next 1/3] net: systemport: Remove adaptive TX coalescing

2018-03-28 Thread Tal Gilboa
unsigned long packets;/* packets statistics */ unsigned long bytes; /* bytes statistics */ - 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

Re: [PATCH net-next V2] Documentation/networking: Add net DIM documentation

2018-03-26 Thread Tal Gilboa
On 3/22/2018 8:51 PM, David Miller wrote: From: Tal Gilboa 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. Signed-off-by: Tal Gilboa

Re: [PATCH net-next 0/2] net: broadcom: Adaptive interrupt coalescing

2018-03-26 Thread Tal Gilboa
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 and

Re: [PATCH net-next 1/2] net: systemport: Implement adaptive interrupt coalescing

2018-03-26 Thread Tal Gilboa
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

Re: [PATCH net-next 2/2] net: bcmgenet: Add support for adaptive RX coalescing

2018-03-26 Thread Tal Gilboa
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 c

Re: [PATCH net-next 1/2] net: systemport: Implement adaptive interrupt coalescing

2018-03-26 Thread Tal Gilboa
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 a

Re: [PATCH net-next 0/2] net: broadcom: Adaptive interrupt coalescing

2018-03-26 Thread Tal Gilboa
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 imp

Re: [PATCH net-next] Documentation/networking: Add net DIM documentation

2018-03-21 Thread Tal Gilboa
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

[PATCH net-next V2] Documentation/networking: Add net DIM documentation

2018-03-21 Thread Tal Gilboa
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 --- Documentation/networking/net_dim.txt | 174 +++ 1 file changed, 174

[PATCH net-next V1] Documentation/networking: Add net DIM documentation

2018-03-21 Thread Tal Gilboa
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 --- Documentation/networking/net_dim.txt | 174 +++ 1 file changed, 174

[PATCH net-next] Documentation/networking: Add net DIM documentation

2018-03-21 Thread Tal Gilboa
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 --- Documentation/networking/net_dim.txt | 174 +++ 1 file changed, 174

Re: [PATCH net-next 0/7] tcp: implement rb-tree based retransmit queue

2018-02-06 Thread Tal Gilboa
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 patholo

Re: [PATCH net-next 0/7] tcp: implement rb-tree based retransmit queue

2018-02-06 Thread Tal Gilboa
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

Re: [PATCH net-next 0/7] tcp: implement rb-tree based retransmit queue

2018-01-24 Thread Tal Gilboa
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 wrote: Hi Eric, We have noticed a degradation on both of our drivers (mlx4 and mlx5) when running TCP. Exact scenario is single

Re: [PATCH net-next 0/7] tcp: implement rb-tree based retransmit queue

2018-01-21 Thread Tal Gilboa
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 mlx

[PATCH net-next] net/dim: Fix fixpoint divide exception in net_dim_stats_compare

2018-01-17 Thread Tal Gilboa
prevent this division for both ppms and epms. Fixes: c3164d2fc48f ("net/mlx5e: Added BW check for DIM decision mechanism") Fixes: 4c4dbb4a7363 ("net/mlx5e: Move dynamic interrupt coalescing code to include/linux") Reported-by: Helmut Grauer Signed-off-by: Talat Batheesh Signe

Re: [PATCH net-next v4 00/10] net: create dynamic software irq moderation library

2018-01-09 Thread Tal Gilboa
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 noticed by kbuild test robot

Re: [PATCH net-next v4 00/10] net: create dynamic software irq moderation library

2018-01-09 Thread Tal Gilboa
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, kbuild test robot! v3: bnxt_en

Re: [PATCH net-next v3 06/10] net/mlx5e: Change Mellanox references in DIM code

2018-01-09 Thread Tal Gilboa
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 Acked-by: Tal Gilboa Acked-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/c

Re: [PATCH net-next v3 00/10] net: create dynamic software irq moderation library

2018-01-08 Thread Tal Gilboa
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 moderation library in the

Re: [PATCH net-next v2 06/10] net/mlx5e: Change Mellanox references in DIM code

2018-01-07 Thread Tal Gilboa
d as local variables. Signed-off-by: Andy Gospodarek Acked-by: Tal Gilboa Acked-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/en.h | 12 +- drivers/net/ethernet/mellanox/mlx5/core/en_dim.c | 14 +- .../net/ethernet/mellanox/mlx5/core/en_ethtool.c | 12 +- drivers/n

Re: [net-next 00/10] net: create dynamic software irq moderation library

2018-01-05 Thread Tal Gilboa
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 this set. Andy Gospodarek (10

Re: [net-next 08/10] net/dim: use struct net_dim_sample as arg to net_dim

2018-01-05 Thread Tal Gilboa
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.

Re: [net-next 06/10] net/mlx5e: change Mellanox references in DIM code

2018-01-05 Thread Tal Gilboa
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 : - MLX5_CQ_PERIOD_MODE_START_FROM_EQE; +