All of lore.kernel.org
 help / color / mirror / Atom feed
From: Claudiu Manoil <claudiu.manoil@nxp.com>
To: "David S . Miller" <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>, netdev@vger.kernel.org
Subject: [PATCH net-next v2 0/6] Add adaptive interrupt coalescing
Date: Fri, 17 Jul 2020 18:36:58 +0300	[thread overview]
Message-ID: <1595000224-6883-1-git-send-email-claudiu.manoil@nxp.com> (raw)

Apart from some related cleanup patches, this set
introduces in a straightforward way the support needed
to enable and configure interrupt coalescing for ENETC.

Patch 5 introduces the support needed for configuring the
interrupt coalescing parameters and for switching between
moderated (int. coalescing) and per-packet interrupt modes.
When interrupt coalescing is enabled the Rx/Tx time
thresholds are configurable, packet thresholds are fixed.
To make this work reliably, patch 5 uses the traffic
pause procedure introduced in patch 2.

Patch 6 adds DIM (Dynamic Interrupt Moderation) to implement
adaptive coalescing based on time thresholds, for the Rx 'channel'.
On the Tx side a default optimal value is used instead, optimized for
TCP traffic over 1G and 2.5G links.  This default 'optimal' value can
be overridden anytime via 'ethtool -C tx-usecs'.

netperf -t TCP_MAERTS measurements show a significant CPU load
reduction correlated w/ reduced interrupt rates. For the
measurement results refer to the comments in patch 6.

v2: Replaced Tx DIM with predefined optimal value, giving
better results. This was also suggested by Jakub (cc).
Switched order of patches 4 and 5, for better grouping.

Claudiu Manoil (6):
  enetc: Refine buffer descriptor ring sizes
  enetc: Factor out the traffic start/stop procedures
  enetc: Fix interrupt coalescing register naming
  enetc: Drop redundant ____cacheline_aligned_in_smp
  enetc: Add interrupt coalescing support
  enetc: Add adaptive interrupt coalescing

 drivers/net/ethernet/freescale/enetc/Kconfig  |   2 +
 drivers/net/ethernet/freescale/enetc/enetc.c  | 156 ++++++++++++++----
 drivers/net/ethernet/freescale/enetc/enetc.h  |  37 ++++-
 .../ethernet/freescale/enetc/enetc_ethtool.c  |  91 +++++++++-
 .../net/ethernet/freescale/enetc/enetc_hw.h   |  23 ++-
 5 files changed, 265 insertions(+), 44 deletions(-)

-- 
2.17.1


             reply	other threads:[~2020-07-17 15:37 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-17 15:36 Claudiu Manoil [this message]
2020-07-17 15:36 ` [PATCH net-next v2 1/6] enetc: Refine buffer descriptor ring sizes Claudiu Manoil
2020-07-17 15:37 ` [PATCH net-next v2 2/6] enetc: Factor out the traffic start/stop procedures Claudiu Manoil
2020-07-17 15:37 ` [PATCH net-next v2 3/6] enetc: Fix interrupt coalescing register naming Claudiu Manoil
2020-07-17 15:37 ` [PATCH net-next v2 4/6] enetc: Drop redundant ____cacheline_aligned_in_smp Claudiu Manoil
2020-07-17 15:37 ` [PATCH net-next v2 5/6] enetc: Add interrupt coalescing support Claudiu Manoil
2020-07-17 19:32   ` Jakub Kicinski
2020-07-18 17:20     ` Claudiu Manoil
2020-07-20 16:58       ` Jakub Kicinski
2020-07-21  8:00         ` Claudiu Manoil
2020-07-17 15:37 ` [PATCH net-next v2 6/6] enetc: Add adaptive interrupt coalescing Claudiu Manoil
2020-07-17 19:30   ` Jakub Kicinski
2020-07-18 17:20     ` Claudiu Manoil
2020-07-21  8:05       ` Claudiu Manoil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1595000224-6883-1-git-send-email-claudiu.manoil@nxp.com \
    --to=claudiu.manoil@nxp.com \
    --cc=davem@davemloft.net \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.